What is going on is that Perl is exposing more of its internals than it really should be. The name of the hash is being interpreted like a reference when you use this syntax.
%hash->{key} should never have worked, but some people noticed that it did and (wrongly) started to use it. And that's why it's just deprecated and hasn't been removed from the language yet.
In reply to Re^3: hash reference doubt
by davorg
in thread hash reference question
by targetsmart
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |