in reply to one hash value (array) into another

If you want different arrays, with the same scalar things inside, you can do:

use Data::Dumper; $h{a} = [qw/x y z/]; $h{b} = &{sub {\@_}}(@{$h{a}}); $h{a}->[0] = 'new_x_is_shared'; push @{$h{a}}, 'pusher_is_not_shared'; print Dumper $h{a}; print Dumper $h{b};

with the output:

$VAR1 = [ 'new_x_is_shared', 'y', 'z', 'pusher_is_not_shared' ]; $VAR1 = [ 'new_x_is_shared', 'y', 'z' ];