#!/usr/local/bin/perl #上一句指定perl程序的执行目录 undef $/; #$/设置为undef,它用于读入后面跟着两个或多个换行符组成的段落,实现大文件的送入。 #读入输入,在unix下,可以把genome的fna文件通过管道全部送到$text中;在windows中无法实现这一功能。 #解决windows中的输入问题,需要使用文件句柄。代码如下: open(DATA,"data.dna"); $text=; close DATA; #$text = <> ; open (RESULT,">result.txt"); #去掉">"开始的后面的内容,对于fna文件格式,是去掉注释行。 $text =~ s/\>.+?\n//g; #去掉数据串中的回车 $text =~ s/\n//g; $a = ($text =~ s/a//gi); $c = ($text =~ s/c//gi); $g = ($text =~ s/g//gi); $t = ($text =~ s/t//gi); $n = ($text =~ s/n//gi); $total=$a+$c+$g+$t+$n; $ap=$a/$total; $cp=$c/$total; $gp=$g/$total; $tp=$t/$total; #输出统计结果 print RESULT "a: $a\nc: $c\ng: $g\nt: $t\nn: $n\nTOTAL: $total\n\n"; print RESULT "a percent: $ap\nc percent: $cp\ng percent: $gp\nt percent: $tp\nn percent: $np\n";