Perl将数组的名称与现有值连接起来

Perl将数组的名称与现有值连接起来,perl,Perl,问题是这样的: 我有一个循环。当我迭代这个循环时,我想创建一些具有以下名称的数组:array1array2array3 我想知道是否有办法在perl中连接这些名称 我试过这样的方法,但我出错了 $i = 0; while ($i <= 5) { @array . $i = (); $i++; } $i=0; 当($i您想要使用哈希时 use strict; use warnings; my %hash; for my $i (1 .. 5) { $hash{ "a

问题是这样的: 我有一个循环。当我迭代这个循环时,我想创建一些具有以下名称的数组:
array1
array2
array3

我想知道是否有办法在perl中连接这些名称 我试过这样的方法,但我出错了

$i = 0;
while ($i <= 5) {
    @array . $i = ();
    $i++;
}
$i=0;
当($i您想要使用哈希时

use strict;
use warnings;

my %hash;
for my $i (1 .. 5) {

  $hash{ "array$i" } = [];
}
长话短说:

如果要使用哈希

use strict;
use warnings;

my %hash;
for my $i (1 .. 5) {

  $hash{ "array$i" } = [];
}
长话短说:

是的,你可以这样做,但不,你不应该这样做

您应该改为使用匿名数组的引用数组:


但为了完整起见……您可以通过使用“符号引用”来做到这一点:

是的,你可以这样做,但不,你不应该这样做

您应该改为使用匿名数组的引用数组:


但为了完整起见……您可以通过使用“符号引用”来做到这一点:


在我看来,AoA比HoA更有意义。在我看来,AoA比HoA更有意义。
@arrayrefs = ([], [], [], [], [], []);
$i = 0;
while ($i <= 5) {
    my $name = "array$i";
    @$name = ();
    $i++;
}
for ($i = 0; $i <= 5; $i++) {
    ...
}
for $i (0 .. 5) {
    ...
}