http://www.perlmonks.org?node_id=856297


in reply to deferencing an hash in a subroutine

In neither of your examples are you using a reference. Try something more like:

use strict; use warnings; my %hash = (foo => 1, bar => 2,); # pass reference to subroutine test(\%hash); ########## SUB ######### sub test{ my $reference = shift; # reference is passed in @_ print "REF: $reference\n"; print "KEY: " . $_ . " VAL: " . $reference->{$_} . "\n" for (keys +%$reference); }

Check out perlref and References quick reference for more info on references and dereferencing! HTH!

Just a something something...