>perl -wMstrict -le "my %hash = ( one => { fee => 33, fie => 44, }, two => { foo => 2, bar => 3, baz => 4, }, ); my $k_n = keys %{ $hash{one} }; my $k_s = '' . %{ $hash{one} }; print $k_n; print $k_s, ' <--'; print scalar keys %{ $hash{two} }; print '' . %{ $hash{two} }; " 2 1/8 <-- 3 3/8 >perl -wMstrict -le "my %hash = ( one => { fee => 33, xyz => 44, }, two => { foo => 2, bar => 3, baz => 4, }, ); my $k_n = keys %{ $hash{one} }; my $k_s = '' . %{ $hash{one} }; print $k_n; print $k_s, ' <--'; print scalar keys %{ $hash{two} }; print '' . %{ $hash{two} }; " 2 2/8 <-- 3 3/8 #### >perl -wMstrict -le "my %ha = ( fee => 33, fie => 44, ); my %hb = ( fee => 33, xyz => 44, ); printf qq{keys (%s): %ld %s \n}, join(' ', sort keys %$_), scalar keys %$_, 'buckets used/allocated: ' . %$_, for \(%ha, %hb); " keys (fee fie): 2 buckets used/allocated: 1/8 keys (fee xyz): 2 buckets used/allocated: 2/8