# these will be different # print \@aoa1."\n"; print \@aoa2."\n"; # but these won't be! # print $aoa1[0]."\n"; print $aoa2[0]."\n"; print $aoa1[1]."\n"; print $aoa2[1]."\n"; print $aoa1[2]."\n"; print $aoa2[2]."\n"; #### use strict; use warnings; use Storable qw(dclone); use Data::Dumper; # define @aoa1 w/ anonymous AoA # my @aoa1 = map { [qw(- - -)] } 0..2; # deep clone @aoa1 to create @aoa2 # my @aoa2 = @{dclone(\@aoa1)}; # modify @aoa2 # $aoa2[1][1] = '@'; # display structures # print Dumper(\@aoa1); print Dumper(\@aoa2);