入れ子配列のコピーを作成しようとしていますが、私は自分の試みを参照し続けているようです。配列構造体の配列内に入れ子配列のコピーを作成する方法
より具体的には、各サブアレイが以前のアレイ上に構築されたアレイのアレイを作成しようとしています。私は私の問題を想定してい
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
は、私がどのようにしてある:
#!/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
そして私は/したいことがあることを期待$ tempを指定してください。そうでない場合は教えてください。どんな助けもありがとうございます。
http://stackoverflow.com/questions/388187/whats-the-best-way-to-make-a-deep-copy-ofあなたのコードにできるだけ近いそれを維持-a-data-structure-in-perl –
一般に、Storableの 'dclone'を使うことができます。この場合、zdimのソリューションがより適切です(単純な浅いコピーがほしいからです)。 – ikegami