Ссылка на массив Perl всегда перезаписывает себя в цикле
Я пытаюсь прочитать некоторые числа из текстового файла и сохранить его в виде двухмерного массива. Я читаю строку и вставляю в другой массив как ссылку на массив. Но я заметил, что основной массив имеет только последнюю строку во всех строках. Как я могу исправить это? Заранее спасибо. Это часть, я делаю это.
open IN, "a.txt";
@b=();
while (<IN>)
{
$t =$_;
@a = split /\s+/,$t;
push(@b, \@a);
}
1 ответ
Решение
Всего у вас есть только два массива. Вы хотите один на линию, плюс @b
, my
создает новую переменную каждый раз, когда она выполняется, поэтому вы можете использовать следующее:
my @b;
while (<IN>) {
my @a = split;
push @b, \@a;
}
Кстати, вы всегда должны использовать use strict; use warnings;
,