读书人

统计资料内容的perl代码纠错求指教

发布时间: 2012-08-09 15:59:21 作者: rapoo

统计文件内容的perl代码纠错,求指教!
本人写了个小小的perl代码,想要统计汇总当前路径下一系列的 k*.N50 文件内容中N50的值。代码如下:
#!/usr/bin/perl -w

#program
# extract all N50 value of all reads..
#history
# xiezh 2012.7.22

for ($k = 13; $k <= 89; $k++) {
open N50, "< ./k$k.N50";
open OUT, ">> ./all.N50";
foreach (<N50>) {
while (/^N50/) {
print OUT "$_";
}
}
}

部分结果显示如下:
N50 value: 16
N50 value: 16
N50 value: 16
N50 value: 16
N50 value: 16
N50 value: 16
N50 value: 16

很明显,达不到预期的效果,程序反复显示 k13.N50 中的N50这一行的内容,进入了死循环,却不再去提取k14、k15等文件的N50 value。
我知道错误在line nine,但是不知道怎么改!这个代码该怎么去修改,才打到预期的效果??求指教!!

[解决办法]
是不是这个意思:

Perl code
open OUT, ">> ./all.N50";for ($k = 13; $k <= 89; $k++) {    open N50, "< ./k$k.N50";    while (<N50>) {        if (/^N50/) {            print OUT "$_";        }    }    close N50;}close OUT; 

读书人网 >perl python

热点推荐