As was indicated to you, using the 'keys' keyword in scalar context can tell you about how many keys are there in the hash, the number of values will be similar of course to the number of keys, but to have a count of values in a way that is more sensible you will need to filter out the undefined values and return only those that are defined, in this context, using grep in conjunction with defined is a good way to go