#!/usr/bin/perl # vi:ts=4 sw=4 et: use strict; use warnings; use Data::Dumper; my @AoA1 = ( [ 1, 2, 3 ], [ qw( a b c ) ], ); my @AoA2 = (); $AoA2[0] = $AoA1[0]; # change the '1' in AoA2 $AoA2[0]->[0] = 0; # check stored reference print "\$AoA1[0]", $AoA1[0], $/; print "\$AoA2[0]", $AoA2[0], $/; # look what happened! AoA1 is changed! print Dumper \@AoA1;