Generally speaking, even if Perl were to give you the same output each time, I doubt it would be sage advice to count on what that order was in any way. Merely upgrading perl could give you a different set of answers (if Perl-5-Porters were to suddenly find a new magical algorithm that solved some issue of speed, memory, or both, for example). Which means that if you moved from one machine (running Perl 5.8.1) to another (running Perl 5.8.3, say), you could get different answers.

Thus, the answer has always been that if you need some sort of order to these keys, you need to impose that order yourself (via sort or Tie::IxHash or something). As lima1 says, they now force this good habit on you to reduce security exposure risks. But that doesn't change the fact that it was always a good idea.


In reply to Re: random behaviour of perl hashes by Tanktalus
in thread random behaviour of perl hashes by evilgoblin

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.