我试图从文本文件中读取一些数字并将其存储为二维数组。我读了一行并推入另一个数组作为数组引用。但是我注意到主数组在所有行中只有最后一行。我怎么能纠正这个?提前致谢。这是我做的部分。
open IN, "a.txt";
@b=();
while (<IN>)
{
$t =$_;
@a = split /\s+/,$t;
push(@b, \@a);
}
答案 0 :(得分:7)
您只有两个阵列。你想要每行一个,加上@b
。 my
每次执行时都会创建一个新变量,因此您可以使用以下内容:
my @b;
while (<IN>) {
my @a = split;
push @b, \@a;
}
顺便说一句,你应该总是使用use strict; use warnings;
。