如何在perl中创建动态数组

时间:2014-11-10 11:47:26

标签: perl

我的情况是输入形式为
$n后跟n行,其中包含n个不同数组的元素 喜欢

2  
1 2 3   
1 6   

表示我有2个数组,其元素为1,2,31,6

现在我真的不知道N有多大。如何创建动态数组并为其存储值。数组可以命名为array1,array2或任何其他方法来区分不同的数组。

$n = <STDIN>;
for ($i = 0; $i < $n; $i++) {
    $l   = <STDIN>;
    @arr = split(" ", $l);
}

请改进此代码。

1 个答案:

答案 0 :(得分:3)

您可以使用数组数组:

use strict;    
my @array;
while(<STDIN>) {
    my @line = split(" ", $_);
    push @array, \@line;
}

# Just to display what's inside your array:
use Data::Dumper;     
print Dumper(\@array);    

甚至更短:

use strict;
my @array;
push @array, [split ' ', $_] while(<STDIN>);