in reply to number of keys and values in a hash
As pointed out, there's no need to iterate over the hash using each. Considering you are calling keys - I've no idea why you are using each.
Furthermore, since you build the hash as a one key, one value pair, why the need to find out the number of keys? The answer to that is already known, isn't it?