Jeff Soules wrote:
Hi all,
Hello,
Am I missing something?
Precedence. perldoc perlop
I have the following chunks of code: EX 1: if ($foo == 1){ $bar = 0; }else{ $bar = 1; } EX 2: ($foo == 1) ? $bar = 0 : $bar = 1; These are logically equivalent, right?
No. EX 2 should be: bar = $foo == 1 ? 0 : 1;
But when I've run the latter, $bar always comes away with a value of 0, regardless of the value of $foo. This is particularly confusing, as the following snippet: EX 3: ($foo == 1) ? warn "Got 0\n" : warn "Got 1\n"; is producing the results I expect.
That is usually written as: warn $foo == 1 ? "Got 0\n" : "Got 1\n";
Am I doing something stupid or missing something obvious?
John -- The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. -- Damian Conway -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/