我查看了网站上的几个线程,包括这个线程,试图理解为什么我在使用 $line 时遇到未声明的变量错误。@lines 数组的每个元素都是一个字符串数组。
错误在 $line[$count] 语句的第 25 行和第 27 行
use strict;
use warnings;
my @lines;
my @sizes;
# read input from stdin file into 2d array
while(<>)
{
push(@lines, my @tokens = split(/\s+/, $_));
}
# search through each array for largest sizes in
# corresponding elements
for (my $count = 0; $count <= 5; $count++)
{
push(@sizes, 0);
foreach my $line (@lines)
{
if(length($line[$count])>$sizes[$count])
{
$sizes[$count] = length($line[$count]);
}
}
}
如果有必要,我可以发布完整的代码,但我很确定错误一定在某个地方。