统计资料内容的perl代码纠错,求指教
统计文件内容的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代码,想要统计汇总当前路径下一系列的 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;