my @first = ( ['1','2','3'],
['11','22','33'] );
my @second = map { reref ( @$_ ) } @first;
$first[0][2] = 4;
print "$first[0][2]\n";
print "$second[0][2]\n";
sub reref {
my @out = ();
push (@out, $_) for @_;
return \@out;
}
This builds a new anonymous list reference for each list in the list. There is probably a better solution, but this works for your stated problem.
For the record, I have decided to purge the word array from my Perl vocabulary. Perl's lists have only the slightest relationship to arrays in other languages.