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


in reply to Why does the Perl conditional operator not do what I expect?

Running this with perl -MO=Deparse,-p gives:

(($condition ? ($a = 2) : $a) = 3);

So your problem is operator precedence. You should parenthize the assignments. (The ternary operator is often found on the right-hand side of an assignment, so it has higher precedence.)

Replies are listed 'Best First'.
Re^2: Why does the Perl conditional operator not do what I expect?
by Anonymous Monk on Apr 20, 2009 at 11:07 UTC