in reply to The Anomalous each()

The key points are that there is a single iterator, and that it is (only) reset after all the elements have been read. The anomaly is that the iterator is not reset when you leave the scope containing the each()!
Huh? each has no scope, it is global. Maybe it'd indeed be nice if indeed it respected subs as a scope. But, like you said: it doesn't.

But I never use each. Behaviour like you described, which is inherent in the model, is just too low level to my taste.