统计资料内容的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 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;