Question: Logical operators giving wrong results. The results are only correct when $a is true and $b is false. Any advice to fix this?
$a = false; $b = true; print "Value of \$a = $a and value of \$b = $b\n"; $c = ($a and $b); print "Value of \$a and \$b = $c\n"; $c = ($a && $b); print "Value of \$a && \$b = $c\n"; $c = ($a or $b); print "Value of \$a or \$b = $c\n"; $c = ($a || $b); print "Value of \$a || \$b = $c\n"; $a = 0; $c = not($a); print "Value of not(\$a)= $c\n"; ***Result*** Value of $a = false and value of $b = true Value of $a and $b = true Value of $a && $b = true Value of $a or $b = false Value of $a || $b = false Value of not($a)= 1
In reply to Perl logical operators by Sogalei
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |