http://www.perlmonks.org?node_id=161083


in reply to next in block in foreach-loop

A bare block is a loop that executes once but obeys loop control statements such as last, next, and redo. Thus, when you next in the bare-block inside your loop, you are next'ing out of the bare-block, not the outer loop.