http://www.perlmonks.org?node_id=860877


in reply to hash problems

All it is is that your line: print("$passwords{"Matt"} is my password."); is being interpreted as :

print("$passwords{"Matt"} is my password."); ^-- string -^ ^- another string-^
Effectively making 'Matt' a bareword (i.e. not a function, string etc...)

Always remember to use warnings and strict (and diagnostics for more info on any error messages).

Check out perldata for info on string interpolation... Hope this helps,

Just a something something...