sub hash { my $h = shift; return %$h; } sub href { my $h = shift; return $h; } my $n = { moo => 'blah', arrg => 'no' }; my %hash = hash($n); $hash{arrg} = 'yes'; print join(' ',%$n) . "\n"; # Output: moo blah arrg no my $m = { moo => 'blah', arrg => 'no' }; my $hash = href($m); $hash->{arrg} = 'yes'; print join(' ',%$m) . "\n"; # Output: moo blah arrg yes