in reply to hash problems

One problem is that you haven't escaped your double quotes in your print call. Try using qq:
print(qq($passwords{"Matt"} is my password.));

Another problem is that you should use parentheses, not curly braces, when assigning to a hash:

%passwords = ("Matt", "s1k1d52", "scuzzy", "2ab928", "Marky", "s8291s" +, "Jeb", "jeb23");

A debugging tip is to use Data::Dumper to display hashes:

use Data::Dumper; print Dumper(\%passwords);

See also: