in reply to order of hash

I see that nobody has explained for you yet what the reason is behind the semi-random order. See Re (tilly) 4: Flip Flop III - Musical Buckets for a brief and hopefully understandable explanation.

After you have read that, a key detail that I glossed over there. A good hashing algorithm takes a lot of normal strings and should scatter them well among buckets, hence it tries to make things look pretty random. (While really being deterministic.)

What everyone else is referring to is that the hashing function that Perl uses is, as of 5.8.1, going to be different every time you start Perl. Previously it only varied from one version of Perl to the next.