Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^5: Conditional Operator Confusion

by ikegami (Pope)
on Nov 30, 2006 at 17:12 UTC ( #587014=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Conditional Operator Confusion
in thread Conditional Operator Confusion

The conditional operator has higher precedence than the assignment operator, so
$c?$x='TRUE':$y='FALSE'
is the same as
($c?$x='TRUE':$y)='FALSE'

The addition operator has higher precedence than the conditional operator, so
$c?$x+2:$y+3
is the same as
$c?$x+2:($y+3)

If you want to do assignments, use if or add parens. Think of as the conditional operator as an operator that returns something.


Comment on Re^5: Conditional Operator Confusion
Select or Download Code
Re^6: Conditional Operator Confusion
by Melly (Hermit) on Nov 30, 2006 at 17:25 UTC

    Thanks - I think I've finally got it (with some help from the chatterbox as well).

    All of which goes to confirm something a coworker once told me..

    Me: What's the precedence in <lang> for these operators?
    CW: Who cares? Use brackets - it's easier to read and
        you won't get screwed...
    
    Tom Melly, pm@tomandlu.co.uk

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (16)
As of 2014-09-19 14:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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











    Results (140 votes), past polls