in reply to Re^12: Getting for() to accept a tied array in one statement
in thread Getting for() to accept a tied array in one statement

The fact that for ((), @a) calls it once means you're relying on internal implementation. Whether you call it bug or undefined behaviour doesn't matter.