http://www.perlmonks.org?node_id=733173


in reply to Burned by precedence rules

Joining with those who only use the English logical operators when then intend flow control, which follows what the perlop man page — “Operator Precedence and Associativity” — recommends, I suggest one also meditate on this:
&&= and ||= exist; and= and or= do not.

Replies are listed 'Best First'.
Re^2: Burned by precedence rules
by BrowserUk (Patriarch) on Dec 30, 2008 at 05:01 UTC
    I suggest one also meditate on this: &&= and ||= exist; and= and or= do not.

    S'funny, but that is exactly what makes them (and & or) so useful in boolean conditions.

    But you will not see that usefulness until you cease making an wholly artificial distinction beween "flow control" and whatever you consider to be "non-flow control".

    This: my $x = isSomething() and isSomethingElse() ? $p : $q;

    is just as much "flow control" as doSomthing() or doSomethingElse();

    as is: if( isSomething() and isSomethingElse() ) { ... } else { ... };


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      You highlighted "wholly artificial" as if it matters, as if a programming concept could be anything else? It's a funny argument to make.

        It's not the "programming concept" that matters. (Whatever that ethereal phrase may mean to you?)

        It is the wholly artificial distinction between "flow control" and whatever is the complement of that in this context?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.