Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Re: How's your Perl?

by xmath (Hermit)
on Oct 27, 2003 at 17:47 UTC ( #302447=note: print w/ replies, xml ) Need Help??


in reply to Re: How's your Perl?
in thread How's your Perl?

undefined in what sense? Perl's behavior is defined by its source code, perhaps unless contradicted by docs.

UPDATE ick, I got pulled into a pointless discussion. To short-circuit it: anything that works consistently (that is, not dependent on random or OS/environment-dependent factors) in perl 5.8.* is acceptable for these exercises.


Comment on Re: Re: How's your Perl?
Re: Re: Re: How's your Perl?
by jryan (Vicar) on Oct 27, 2003 at 18:51 UTC

    ($foo^=0)++ eq $foo++ involves an auto-increment on top of an assignment, which is undefined as far as I know.

    For more discussion: Re: Incrementing a Hash Value.

      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.

        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.
        Well, just to be pedantic: There being no explicit documentation for order of evaluation means that it such behavior is currently undefined.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://302447]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2014-09-17 04:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (57 votes), past polls