A scalar value is interpreted as FALSE in the Boolean sense if it is undefined, the null string or the number 0 (or its string equivalent, "0"), and TRUE if it is anything else. The Boolean context is just a special kind of scalar context where no conversion to a string or a number is ever performed. Negation of a true value by ! or not returns a special false value. When evaluated as a string it is treated as "" , but as a number, it is treated as 0. Most Perl operators that return true or false behave this way.You seem to think upon a "really" boolean datatype with exactly two distinct values. This is not the case here.
In reply to Re^5: 'xor' operator is not a sibling to 'or' and 'and'?
by soonix
in thread 'xor' operator is not a sibling to 'or' and 'and'?
by rsFalse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |