in reply to Range Operators Question

Clearly, integers are treated differently than strings. The last time I checked, print "Hello world\n" if 0; doesn't print anything, so in the (0..1) case, the left side would never evaluate to true. I'm not much of a Perl internals guy, so the best I can do is share your confusion on this point.

In my perlop documentation it states: The right operand is not evaluated while the operator is in the "false" state, and the left operand is not evaluated while the operator is in the "true" state. This is the opposite of what you wrote. Perhaps you misread it.