This is Anon-a-monk #2 chiming in here, trying to get us back on the same track. The problem of EOD arises whenever side-effects (such as assignment) occur inside your expression. If you eliminate all assignments (read: side-effects) in your expression, you'll be guarenteed not to have an evaluation order dependency. Here's a quick rule-of-thumb: If you are using assignment, make sure the RHS doesn't contain terms that cause an assigment to the same variable on the LHS. Examples...
$i = 4+$j; #good, no assignments on RHS
$i = 4+$j++; #also good, assignment ($j++) doesn't refer to LHS ($i)
$i = $i + 1; #good, still no assignments on RHS
$i = $i++ #BAD, assignment ($i++) uses variable which occurs on LHS
For further reading, I recommend
Section 3.1.3 of SICP.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.