my %h = (a,b,c,d); &func(\%h); while ((my $key, my $val) = each %h) { print "key is $key val is $val\n"; } sub func { $_->{'e'} = 'f'; } #### key is c val is d key is a val is b