perl程序的问题在哪里?求助高手

perl程序的问题在哪里?求助高手

#!usr/bin/perl -w
use strict;
#####读取所有要处理的文件的文件名
opendir MYDIR,"E:\\exon\\GC_Box\\";
my @filenames= readdir MYDIR;
closedir MYDIR;

open OUT, ">>F:\\123.txt";

foreach my $file(sort @filenames){
        open(IN,"E:\\exon\\GC_Box\\$file");
        
        my @pvalue=0;

        
        #########   把文件中的pvalue提取出来,文件有两列,第一列是序列号,第二列是pvalue信息
        while( <IN> ){
                my @temp=split/\s+/ ;
    $pvalue[$.]=$temp[1];
                }

        my $line=300;
        my $max=$pvalue[300];
        
        ########  找到pvalue最大的那一行 输出
        for( my $i=1; $i<252;$i++){
               
                for(my $j=300;$j<552-$i;$j++){
                        if( $pvalue[$j] > $pvalue[$j+1] )
                          { $line=$j;
                                  $max=$pvalue[$j]; }
                        }
        print OUT "$line\t$max\n";
               
                }
        
        close IN;        
        
        }
        
close OUT;

老是说 use of uninitialized value in numeric gt ()) at line 29  ;  就是文中的那个if
还有use of uninitilized value in concatenation <.> or at string  in line 33 ;就是最后一个print

不明白你要干啥。。。
就是说你使用了未初始化的变量。这个一般都是代码逻辑有问题。