Perl since 5.8.something has had the option of perturbing the hash function, so it is different from run to run. You can also set the set to a given value in order to lock in the sequence.
In any case, it is not ordered. If you want that, you have to explicitly sort the keys of the hash.