use Data::Dumper; my $VAR1; # must be this variable name # ... populate @array1 here ... eval Dumper( \@array1 ); my @array2 = @$VAR1; # ... now array2 is copied at all levels into its own storage at all levels