in reply to Re^2: Surprised by Perl parse of ternary operator
in thread Surprised by Perl parse of ternary operator
bend the rules differently.
I wouldn't exactly call it "bending the rules". For perl or the other two.
I read it that perl uses a minimal munch approach at that point of the syntax and hence sees:
( ( $fred == 42) ? ( $config = 'k1') : ( $config ) ) = 'k2';
Whereas the other two use a maximal munch approach and so see:
( $fred == 42 ) ? ( $config = 'k1' ) : ( $config = 'k2' );
I think the use case for Perl's way is using the ternary as the lvalue target of assignment. Something like:
$lo = $hi = 0; $x = 7; $mid = 5; $x < $mid ? $lo : $hi = $x; print "lo:$lo hi:$hi";; lo:0 hi:7
Can Ruby or PHP do that?
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Surprised by Perl parse of ternary operator
by Anonymous Monk on Dec 16, 2011 at 15:32 UTC |
In Section
Seekers of Perl Wisdom