foreach(@name){
if($v==$line_number){
print "$name[$j]\t$w\n";
}
$v=0;
open PF,"<",$pro or die "can't read $pro:$!\n";
while(<IN>){
chomp;
@info=split/\t/,$_;
print @name;
if($info[0] eq $name[$j]){
print "@info\n";
last;
}
$v++;
}
close PF;
$j++;
}
@name是已经存好的数组,可是在循环中输出时却总是报错,而且@name数组中的值也莫名其妙的变了,为什么?
while(<IN>)是笔误,应该是PF
æ¯è¿ä¸ªææï¼å¯ä¸ºä»ä¹æçç¨åºä¸å¯ä»¥å¢
$pro是个列表形式的文件,while中的print @name那一行报错,“ Use of uninitialized value in print at ../match.pl line 51, line 178.”
追答你可以看看文件第178行是什么内容,这个目前来看没有修改过@name,应该是不会变化的,要看程序上下文。