perldoc -q copy
Found in C:\Perl\lib\pod\perlfaq4.pod
How do I print out or copy a recursive data structure?
The Data::Dumper module on CPAN (or the 5.005 release of P
+erl)
is great for printing out data structures. The Storable mo
+dule,
found on CPAN, provides a function called "dclone" that
recursively copies its argument.
use Storable qw(dclone);
$r2 = dclone($r1);
Where $r1 can be a reference to any kind of data structure
+ you'd
like. It will be deeply copied. Because "dclone" takes and
returns references, you'd have to add extra punctuation if
+ you
had a hash of arrays that you wanted to copy.
%newhash = %{ dclone(\%oldhash) };