in reply to Re: Scalar to a hash, what is that?
in thread Scalar to a hash, what is that?
A hash consists of a set of 'buckets' that can hold zero or more values. To decide which bucket to put your data value in a hash function is used to transform your string key into an IV. This is then used to pick which bucket (probably using hash % @buckets, but I'm not sure on perl specifics), to place the datum in. The value perl returns consists of two parts. The first is the number of buckets that have been used, and the second is the total number of buckets.
As perldata says you can use this as a metric to see how well perl is hashing your data. Ideally the hash should spread your keys out evenly across the buckets. In the real world the hashing function has to work well for lots of different types of keys. If you see a low utilisation of the buckets this indicates a problem of this kind.
|
|---|