in reply to Use of next unless and subs

if(){} statements aren't considered loop blocks, and next isn't affected by your being within an if(){} statement. It will still jump to the next loop iteration.

However, it may simply be less ambiguous to code readers / maintainers if you explicitly specify where to next to, using a label on your while loop:

LOOP_NAME: while( ... ) { .... next LOOP_NAME unless .....; }

Dave