use Data::Dumper; my $aref = ['x','y']; my @a = ($aref, $aref); print Dumper(\@a); __END__ $VAR1 = [ [ 'x', 'y' ], $VAR1->[0] ]; #### use Data::Dumper; my $aref = ['x','y']; my @a = ($aref, $aref); $Data::Dumper::Purity=1; print Dumper(\@a); __END__ $VAR1 = [ [ 'x', 'y' ], [] ]; $VAR1->[1] = $VAR1->[0]; #### use Data::Dumper; use Storable qw/dclone/; my @a = (1,2,3,4,6); $Data::Dumper::Indent=0; print Dumper(increment(increment(\@a))), "\n"; sub increment{ my $d = shift; my @b; for my $i (1..$#$d){ my @a = @$d[$i-1..$i]; push @b, dclone \@a; } return \@b; } __END__ $VAR1 = [[[1,2],[2,3]],[[2,3],[3,4]],[[3,4],[4,6]]]; #### use Data::Dump; my $aref = ['x','y']; my @a = ($aref, $aref); dd \@a; __END__ do { my $a = [["x", "y"], 'fix']; $a->[1] = $a->[0]; $a; } #### use Data::Dumper; $Data::Dumper::Deepcopy = 1; $Data::Dumper::Indent = 0; my $aref = ['x','y']; my @a = ($aref, $aref); print Dumper(\@a), "\n"; __END__ $VAR1 = [['x','y'],['x','y']];