in reply to Re^2: hash question
in thread hash question

You are printing the content of the variable. It's two different variables. If you print the variables directly instead of via Dumper,
my $hash = {}; do_something( $hash ); print Dumper( $hash ); sub do_something { my $hash = shift; $hash = { a => 'alpha', b => 'beta', }; print Dumper( $hash ); }
you'll get two different addresses:
HASH(0x3c4a4)HASH(0x3c39c)
Update: actually, this is also only the contents. Best answer so far to your OP is this by AnomalousMonk