in reply to exists puzzle

You are making TWO fundamental errors. You're not using warnings, which means you're not noticing the second error here. You're using curly braces when defining your hash, instead of parentheses.
my %hash = ( ... );
_____________________________________________________
Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart