Fun indeed!
Interesting philosophy. Undefined but consistent is oxymoronic, if its consistent (not just constrained)
then its defined. The subtlety is that we _really_ mean not defined across platforms and
implementations. The platform, processor architecture, C compiler used and a host of other
things add variables (that may as well be random) into the equation that defines the
statements behaviour.
I applaud the determination and curiosity of the OP, its a fascinating tale,
and only misguided in retrospect of knowing that Perl itself does not know the answer. If nothing else
a great amount is learned about Perls treatment of variables. On another note I see no reason for
Perl to maintain this. A language is what you DEFINE it to be. Perhaps Perl 6 will be bold enough to say
'this is the order of evaluation, this is the behaviour, anything else is wrong' and have done with it.
IANA compiler writer btw, dragon books scare me, maybe I'm missing a really good reason, but in my mind
its just a question of definition and sticking to it. On another note, Barrachois approach is typical empirical
programming, good stuff, tweak it and see, try and break it and find out how it works. If you never encountered
a problem like that before you wouldn't know what 'Behaviour is undefined' even means in the documentation.
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.