我对Perl有点新鲜,但这里是我想做的:
my @array2d; while(<FILE>){ push(@array2d[$i],$_); }
它不编译,因为@ array2d [$ i]不是数组,而是标量值。
我应该如何将@ array2d声明为数组?
当然,我不知道我有多少行。
解决方法
要创建数组数组,或者更准确地说,一个arrayrefs的数组,可以尝试这样:
my @array = (); foreach my $i ( 0 .. 10 ) { foreach my $j ( 0 .. 10 ) { push @{ $array[$i] },$j; } }
它将值推送给您的取消引用的arrayref。您应该可以访问这样的条目:
print $array[3][2];