相关疑难解决方法(0)

如何在Perl中创建多维数组?

我对Perl有点新意,但这就是我想做的事情:

my @array2d;
while(<FILE>){
  push(@array2d[$i], $_);
}
Run Code Online (Sandbox Code Playgroud)

它不编译,因为@array2d[$i]它不是数组而是标量值.

我应该如何将@ array2d声明为数组数组?

当然,我不知道我有多少行.

arrays perl multidimensional-array data-structures

18
推荐指数
3
解决办法
5万
查看次数

从Perl中的多维数组中收集子数组

假设我构建了以下多维数组:

my @array;  # don't need the empty list
my @other_array = (0 ... 10);

foreach my $i ( 0 .. 10 ) {
$array[$i] = [ @other_array[1..$#other_array] ];
}
Run Code Online (Sandbox Code Playgroud)

我想将这个多维数组的"列"收集到一个单独的数组中,

例如,如果我想收集第一列中的项目,我想要类似的东西

my @other_array = ();
@other_array = $array[:][1]; # This does NOT work in Perl
Run Code Online (Sandbox Code Playgroud)

有没有办法在Perl中执行此操作而不循环?

最终我想要做的是获取max我的多维数组的每列的数组.

PS:这个问题的灵感来自于另一个问题:在Perl中构建和打印多维列表而不进行循环.

perl slice multidimensional-array

1
推荐指数
1
解决办法
2306
查看次数