⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flag_truncs.pl

📁 -
💻 PL
字号:
#!/usr/local/bin/perl# flag_truncs.pl - martin hamilton <m.t.hamilton@lut.ac.uk>## Check the CERN/Harvest/Netscape cache for truncated objects# - i.e. those for which there is a "Content-length:" HTTP header,#   and this does not match the size of the cached object# $Id: flag_truncs.pl,v 1.1.1.1 1996/02/22 06:23:57 wessels Exp $require "getopts.pl";require "stat.pl";&Getopts("cd");# -c -> just count the number of objects with a Content-length header# -d -> turn on debugging output# pass filenames on command line or via STDIN@things = $#ARGV >= 0 ? @ARGV : <STDIN>; $total_objects = 0, $content_length = 0;# iterate through themforeach $thing (@things) {  chop $thing;  $opt_d && (print STDERR ">> inspecting: $thing\n");  next if -d "$thing"; # don't want directories  $size = (stat($thing))[$ST_SIZE]||next;  $opt_d && (print STDERR ">> stat: $size\n");  print "$thing\n", next if ($size == 0);  $total_objects++;  $count = 0, $expected = 0;  open(IN, "$thing") || die "Can't open cached object $thing: $!";  while(<IN>) {    $count += length($_);    chop;    print STDERR ">> inspecting $_\n" if $opt_d;    last if /^(\s+|)$/; # drop out after the end of the HTTP headers    # skip if cached file appeared since script started running    if (-M $_ < 0) {      print STDERR ">> skipping $_\n" if $opt_d;      next;    }        if (/^Content-length:\s+(\d+)/i) {      $expected = $1;      $content_length++;    }  }  close(IN);  next if $opt_c;  next if $expected == 0; # no Content-length header  # looked at the headers now  $difference = $size - $count;  $opt_d && print STDERR ">> real: ", $difference, ", expected: $expected\n";  if ($difference != $expected) {    print "$thing (expected: $expected, got: $difference)\n";  }}print "$content_length out of $total_objects had Content-length: header\n"  if $opt_c;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -