in reply to Re^3: Pick any key from a very large hash
in thread Pick any key from a very large hash
"In particular, calling keys() in void context resets the iterator with no other overhead."
Unfortunately, that's on the keys entry, and not on the each entry, which it seems to be more relevant to. If I'm using keys without each, why do I care if keys resets the each iterator?
Granted, a little digging would have found this. And perhaps the OP's avoidance of keys caused the miss.
Quantum Mechanics: The dreams stuff is made of