in reply to Range Operator in If Statement

Just to clarify why your tests don't throw errors:

When you're using the .. range operator in scalar context, you are actually getting the flip-flop behavior!

see Range Operators

I recommend combining two <= operators with &&, testing for inclusion after generating temporary lists is too much overhead. There is nothing closer to Python's 1 <= x <= 8 in Perl.

HTH

Cheers Rolf