Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Conditional Operator Confusion

by davorg (Chancellor)
on Nov 29, 2006 at 12:14 UTC ( #586666=note: print w/replies, xml ) Need Help??

in reply to Conditional Operator Confusion

Looks like it's operator precendence. This works as you expected.

for(1..10){ $_>5 ? ($x='foo') : ($x='bar'); print "$_:$x\n"; }

"The first rule of Perl club is you do not talk about Perl club."
-- Chip Salzenberg

Replies are listed 'Best First'.
Re^2: Conditional Operator Confusion
by Melly (Hermit) on Nov 29, 2006 at 12:39 UTC

    Well, pfft - that's no good for golf... although I'm still confused - how does precedence work in this context?

    Tom Melly,
      C:\>perl -MO=Deparse,-p for(1..10){ $_>5 ? $x='foo' : $x='bar'; print "$_:$x\n"; } ^Z foreach $_ (1 .. 10) { ((($_ > 5) ? ($x = 'foo') : $x) = 'bar'); print("${_}:$x\n"); } - syntax OK

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://586666]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2017-06-26 11:07 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (577 votes). Check out past polls.