one(\%hash); sub one { my($hashref) = @_; two($hashref); } sub two { my($hashref) = @_; # it's still a hashref foreach ( keys %$hashref ) { print "$_\n"; } }