1
我已经浏览了网站上的多个主题,包括这个主题,试图理解为什么我在使用我的$行时收到未声明的变量错误。 @lines数组的每个元素都是一个字符串数组。2d arr explicitpackage
的错误是在第25行和27与$线[$ count]个说法
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]);
}
}
}
我可以张贴的完整代码,如果它是必要的,但我敢肯定,误差必须在这里某处。
是的,我也将圆括号放在'split'上。 – Qtax 2013-03-27 10:59:59
@Qtax,你可以使用'[split]'。 – 2013-03-27 11:09:46
当然,如果你想走那么远。但是,如果你可以做到这一点,你就会在“push”而不是“split”的情况下删除括号。似乎不一致。 – Qtax 2013-03-27 11:12:00