perl 读取大容量的文件的前两行,程序该怎么写

2025-05-01 09:42:04
推荐回答(1个)
回答1:

open(FD,$ARGV[0]);
my(@c,$g,$e,$l);#count,greater,equal,less
my($s,$n,$i);
$i=1;
while($s=){
$s=~s/[^a]//g;
$n=length($s);
$c[$i]=$n;
$g++ if ($n>5);
$e++ if ($n==5);
$l++ if ($n<5);
$i++;
}
close(FD);
$n=$g+$e+$l;
print "a>5 $g ".($g*100/$n)."%\n";
print "a=5 $e ".($e*100/$n)."%\n";
print "a<5 $l ".($l*100/$n)."%\n";

上面的程序测试通过,完全满足你的要求,结果是正确的。