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'; } #### use strict; use warnings; my %hash = (1,'a',2,'b',3,'c'); mysub(\%hash); sub mysub { my %h = %{shift()}; print $h{2}; }