Let's be careful to not allow this to turn into a undefined-behavior flamewar. Perl has no specifications which indicate which behaviors are mandatory and which are undefined. As far as I'm concerned, anything that works in perl is valid. If you disagree, then just accept the above for the scope of these exercises.
note that I see no mention in perlop or perlsyn that evaluation order is undefined, unlike for example the static-var trick which *is* undefined according to the docs. That is a good reason to avoid relying on behavior in maintainable code (since it might break in future versions of perl), but it definitely no reason not to use it in the realm of obfu and obscurity :-)
UPDATE docs != specs. documentation just describes how the thing happens to work. if something is not mentioned in the documentation, then it is undocumented, not undefined.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.