写一个perl程序计算行数,字数

写一个perl程序计算行数,字数,第1张

假设你的文本是纯英文文字档 ( 不是 unicode )

my @files = @ARGV;

foreach my $file ( @files ) {

open F, $file or die "Can't open $file$/";

my ( $lines, $words, $chars ) ;

my $rawchars = -s $file;

while (my $line = <F> ) {

chomp $line;

my @w = split /[^\w]+/, $line;

$chars += length ( join " ", @w ) ;

$words += @w;

$lines++;

}

print "$file has $lines lines, $words words, $chars chars(true char), $rawchars rawchars(include space, punc, enter)$/";

}

你所说的保存是什么意思?我保存到数组里好了~

open IN, “<”, "datatxt" or die;

my @a = <IN>;

close IN;

第2题

chomp($str=<STDIN>);

my @array=split/[ ,]/,$str;

my $mx = $array[0];

for my $e(@array) {$mx = $e if ($e > $mx);}

print "最大值为$mx";

第3题

chomp($str=<STDIN>);

my @array=split/[ ,]/,$str;

my @sorted_num=sort{$a<=>$b}@array;

my $string=join(",",@sorted_num);

print "排序后的数列为:$string";

第4题

chomp($str=<STDIN>);

my @array=split//,$str;

my %ha;

my @uniq=grep{++$ha{$_}<2}@array;

my $size=@array;

my $n;my $foundno;my $regex;my $freq;

print "氨基酸\t频数\t频率\n";

for($n=0;$n<@uniq;$n++){

$regex=@uniq[$n];

$foundno=0;

$foundno++ while($str=~m/$regex/g);

$freq=$foundno100/$size;

print "$regex\t$foundno\t$freq%\n";

}

#!/usr/bin/perl

my $a = << 'ATXT';

NC_1 125  A

NC_2 657  C

Un 147  G

Un 321  A

ATXT

  

my $b = << 'BTXT';

NW_1 1 200 0

NW_2 201 300 500

NW_3 301 800 1000

BTXT

open CCC,"> d:/ctxt";

my @a = split(/\n/,$a);

my @b = split(/\n/,$b);

foreach $c (@a){

 undef $m;

 if($c =~/^Un\s+(\d+)/){

  $m = $1;

 foreach $d (@b){

 my @e = split(/\s+/,$d);

 if($m > $e[1] && $m < $e[2]){

  my $f = $m - $e[3];

  print CCC "$e[0] $f\n";

  print "$e[0] $f\n";

 } 

 } 

 }else{

 print CCC "$c\n";

 print "$c\n";  

 } 

}

close CCC;

open(FD,$ARGV[0]);

my(@c,$g,$e,$l);#count,greater,equal,less

my($s,$n,$i);

$i=1;

while($s=<FD>){

$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 "($g100/$n)"%\n";

print "a=5 $e "($e100/$n)"%\n";

print "a<5 $l "($l100/$n)"%\n";

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

以上就是关于写一个perl程序计算行数,字数全部的内容,包括:写一个perl程序计算行数,字数、用perl处理完数据后想保存成为txt文档该怎么写程序谢谢!、perl语言编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10163680.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存