Perl 数组引用总是在循环中重写自身

Perl array reference always rewrites over itself in a loop

我正在尝试从文本文件中读取一些数字并将其存储为二维数组。我读了一行并推入另一个数组作为数组引用。但我注意到主数组在所有行中只有最后一行。我该如何纠正这个问题?提前致谢。这是我做的部分。

open IN, "a.txt";
@b=();

while (<IN>)

 { 
  $t =$_; 
  @a = split /\s+/,$t; 
  push(@b, \@a); 
 }

你总共只有两个数组。你想要每行一个,再加上 @bmy每次执行都会创建一个新的变量,所以可以使用如下:

my @b;
while (<IN>) { 
    my @a = split;
    push @b, \@a; 
 }

顺便说一下,您应该始终使用 use strict; use warnings;