use strict; use Data::Dumper; sub sub_c (\%) { my ($hash1c) = @_; print "sub_c arguments:" . Dumper (@_); } sub sub_b () { my %hash1b = (); $hash1b{"key1"} = "1"; print "calling sub_c from sub_b\n"; sub_c (%hash1b); } my %hash1a = (); $hash1a{"key1"} = "1"; print "calling sub_b\n"; sub_b (); print "\n"; print "calling sub_c directly\n"; sub_c (%hash1a);