如何在数组结构的数组中复制嵌套数组
How to make a copy of a nested array in an array of array structure
我正在尝试制作一个嵌套数组的副本,看来我继续尝试引用。
更具体地说,我正在尝试创建一个数组数组,其中每个子数组都建立在前一个数组的基础上。这是我的尝试:
#!/usr/bin/perl -w
use strict;
use warnings;
my @aoa=[(1)];
my $i = 2;
foreach (@aoa){
my $temp = $_;#copy current array into $temp
push $temp, $i++;
push @aoa, $temp;
last if $_->[-1] == 5;
}
#print contents of @aoa
foreach my $row (@aoa){
foreach my $ele (@$row){
print "$ele ";
}
print "\n";
}
我的输出是:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
我want/expect它是:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
我假设我的问题在于我如何分配 $temp,如果不是这样请告诉我。感谢任何帮助。
使用my
创建一个新数组,复制要构建的数组的内容,然后添加到其中。
让它尽可能靠近您的代码
foreach (@aoa) {
last if $_->[-1] == 5;
my @temp = @$_; #copy current array into @temp
push @temp, $i++;
push @aoa, \@temp;
}
我正在尝试制作一个嵌套数组的副本,看来我继续尝试引用。
更具体地说,我正在尝试创建一个数组数组,其中每个子数组都建立在前一个数组的基础上。这是我的尝试:
#!/usr/bin/perl -w
use strict;
use warnings;
my @aoa=[(1)];
my $i = 2;
foreach (@aoa){
my $temp = $_;#copy current array into $temp
push $temp, $i++;
push @aoa, $temp;
last if $_->[-1] == 5;
}
#print contents of @aoa
foreach my $row (@aoa){
foreach my $ele (@$row){
print "$ele ";
}
print "\n";
}
我的输出是:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
我want/expect它是:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
我假设我的问题在于我如何分配 $temp,如果不是这样请告诉我。感谢任何帮助。
使用my
创建一个新数组,复制要构建的数组的内容,然后添加到其中。
让它尽可能靠近您的代码
foreach (@aoa) {
last if $_->[-1] == 5;
my @temp = @$_; #copy current array into @temp
push @temp, $i++;
push @aoa, \@temp;
}