If you're concerned that this might be the case, try printing
scalar(%hash). From perldata(1):
If you evaluate a hash in scalar context, it returns false
if the hash is empty. If there are any key/value pairs,
it returns true; more precisely, the value returned is a
string consisting of the number of used buckets and the
number of allocated buckets, separated by a slash. This
is pretty much useful only to find out whether Perl's
internal hashing algorithm is performing poorly on your
data set. For example, you stick 10,000 things in a hash,
but evaluating %HASH in scalar context reveals ""1/16"",
which means only one out of sixteen buckets has been
touched, and presumably contains all 10,000 of your items.
This isn't supposed to happen.