use strict; use warnings; my %hash = (1,'a',2,'b',3,'c'); print $hash{2}; mysub(\%hash); print $hash{2}; sub mysub { my $p = shift; print $p->{2}; $p->{2} = 'd'; }