J'essaie de faire une copie d'un tableau imbriqué, et il semble que je continue à faire une référence avec mes tentatives. Pour être plus précis, j'essaie d'avoir un tableau de tableaux dans lequel chaque sous-groupe construit sur le tableau précédent. Voici ma tentative:Comment faire une copie d'un tableau imbriqué dans un tableau de la structure de tableau
#!/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";
}
Ma sortie est:
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
Et je veux/attends que ce soit:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Je suppose que mes problèmes se trouve que je suis en assignant $ temp, s'il vous plaît laissez-moi savoir si ce n'est pas le cas. Toute aide est appréciée.
http://stackoverflow.com/questions/388187/whats-the-best-way-to-make-a-deep-copy-of -a-data-structure-in-perl –
De manière générale, vous pouvez utiliser 'dclone' de Storable. La solution de zdim est plus appropriée dans ce cas (puisque vous voulez juste une copie superficielle simple). – ikegami