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
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.