in reply to hash randomization and keys()
Perl has never guaranteed any ordering of the hash keys, and the
ordering has already changed several times during the lifetime of
Perl 5. Also, the ordering of hash keys has always been, and
continues to be, affected by the insertion order.
Also note that while the order of the hash elements might be
randomised, this "pseudoordering" should not be used for
applications like shuffling a list randomly (use
List::Util::shuffle() for that, see List::Util, a standard core
module since Perl 5.8.0; or the CPAN module
Algorithm::Numerical::Shuffle), or for generating permutations (use
e.g. the CPAN modules Algorithm::Permute or Algorithm::FastPermute),
or for any cryptographic applications.