in reply to hash problem

And no one else has explicitly mentioned it, but just having the name of a hash in void context (%names; in your code) doesn't do anything (or at least anything useful). You probably meant my %names;, but then you're not using strict or warnings so you wouldn't have gotten any gripes.

--
We're looking for people in ATL