Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: if variants

by Chady (Priest)
on Oct 19, 2004 at 11:53 UTC ( [id://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 | http://chady.net/
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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-25 18:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found