in reply to Range Operators Question

First of all .. is a range operator in a list context. In a list context, it returns a list of values starting at the left and counting up to the right. (Okay, for alpha it's not really "counting"...)

In a scalar context it's a flip flop operator as you described.

And for() gives a list context.

You might want to pop back to perlop and re-read how it acts differently in different contexts.