From perldoc perldata:
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.
so, 4/16
would be the buckets used/allocated count, and something like the following will display this value:
%hash = (1, 2);
print scalar(%hash); #prints 1/8 here
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…