Perl – How to find the number of keys in a hash in Perl

hashperl

How do I find the number of keys in a hash, like using $# for arrays?

Best Solution

scalar keys %hash

or just

keys %hash

if you're already in a scalar context, e.g. my $hash_count = keys %hash  or  print 'bighash' if keys %hash > 1000.

Incidentally, $#array doesn't find the number of elements, it finds the last index. scalar @array finds the number of elements.