>> Stop thinking in terms of bitwise; this is Boolean.
If this is Boolean, shouldn't it return 1 or ''/0?
p.s. I haven't write anything about bitwise.
| [reply] [Watch: Dir/Any] |
If this is Boolean, shouldn't it return 1 or ''/0?
Technically, TRUE and FALSE. 1 and 0 are just one way of representing those concepts. The TI99-4/A TI-BASIC used -1 to represent TRUE. Perl uses just about anything for TRUE, and a more limited set (including 0, '', and undef) for FALSE; as a result, Perl just picked the most convenient TRUE or FALSE for implementing with the short-circuiting of and / or, which turned out to be the last expression evaluated -- because with short-circuiting, the last expression evaluated always has the same logical value as the entire and / or. With xor, neither the last-evaluated nor the first-evaluated expression contains the correct logical value, so Perl has to do extra work to come to the right logical conclusion, so then Perl uses its default TRUE and FALSE representations, rather than just picking the value from one of the evaluated expressions.
p.s. I haven't write anything about bitwise.
Sorry, you're right. I was going on very little sleep yesterday, and had misinterpreted your original post in a way that made me conclude you were expecting results similar to a bitwise operation; re-reading after a better night's sleep, I don't see that anymore.
| [reply] [Watch: Dir/Any] [d/l] [select] |