The standard googleable answer to "How do I find out the size of a hash in Perl?" is "take the size of keys(%hash)
":
my %h = {};
print scalar (keys (%h));
This prints '1'. I was expecting zero. On the other hand. Similarly,
my %h = {};
$h{"a"} = "b";
$h{"x"} = "y";
print scalar keys (%h);
print "\nKey: $_" for (keys %h);
Prints:
3
Key: a
Key: x
Key: HASH(0x229e8)
Where has this extra value come from?