in reply to Reference curiosity?

In the first case, %hash is still in scope within the subrotuine, and so is still visible and is used in the print statement. In the second case, %hash has not been defined by the time the print statement occurs, so won't work.

Please note that $hash and %hash are different variables in perl. If you want to access hash element A with hash reference $hash, you would use $hash->{A}. See perlref for details.

Update: fixed a typo.

-Mark