Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: if variants

by Chady (Priest)
on Oct 19, 2004 at 11:53 UTC ( #400480=note: print w/replies, xml ) Need Help??

in reply to if variants

regarding the precedence, you can also use the and and or variants who have lower precendence so that you can have assignements work.

Here's a rough example with nested ifs and an else

if ($i > 1 ) { if ($a = function_that_may_fail()) { $i++; } else { $i = 1; } }

can become:

$i > 1 and $a = function_that_may_fail() and $i++ or $i = 1;

He who asks will be a fool for five minutes, but he who doesn't ask will remain a fool for life.
Chady |
Are you a Linux user in Lebanon? join the Lebanese Linux User Group.

Replies are listed 'Best First'.
Re^2: if variants
by SpanishInquisition (Pilgrim) on Oct 19, 2004 at 16:37 UTC
    Personally I like:

    if ($i>1) { $a = function_that_may_fail(); $i = ($a) ? $i+1 : 1; }

    I find that the only time I really use "and" and "or" are with carp/croak/warn/die. But that's just me.

    At worst:

    do { $a=function_that_may_fail(); $i= $a ? $i+1 : 1; } if ($i>1)
Re^2: if variants
by apotheon (Deacon) on Oct 19, 2004 at 11:56 UTC
    Ack! I forgot to mention parentheses! I've got to go add slightly to my "Appendix" section, now.

    - apotheon
    CopyWrite Chad Perrin

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2023-12-02 05:19 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (13 votes). Check out past polls.