Basically the good practice rule is to not reuse a variable in a statement where you modify it (because you might get tricked by the order of operation, or by some caching mechanism where perl only fetches the value once and uses it several times). An example of such a mistake can be found here (I remember this thread because I've been wrong with an awful lot of confidence, so disregard my answer there :P). And you could also try some variant of your second test:

my %hash2 = ( a => ++$m, b => ++$m, c => ++$m );
#This time you get three times the same value 0 HASH(0x30ef548) 'a' => 3 'b' => 3 'c' => 3


In reply to Re: Ternary Quizical behaviour? by Eily
in thread Ternary Quizical behaviour? by bliako

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.