我的情况是输入形式为
$n
后跟n
行,其中包含n
个不同数组的元素
喜欢
2
1 2 3
1 6
表示我有2个数组,其元素为1,2,3
和1,6
。
现在我真的不知道N有多大。如何创建动态数组并为其存储值。数组可以命名为array1,array2或任何其他方法来区分不同的数组。
$n = <STDIN>;
for ($i = 0; $i < $n; $i++) {
$l = <STDIN>;
@arr = split(" ", $l);
}
请改进此代码。
答案 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>);