http://qs1969.pair.com?node_id=574133


in reply to exiting two loop levels

GrandFather and davorg have your answer above. I just wanted to add that it often reads better to label your loops with what they're iterating over, rather than their structure.

For example, say you're processing files and records line-by-line. You could do this:

OUTER: while ( $more ) { INNER: while ( $still_more ) { # ... last OUTER if $done_with_files; last INNER if $done_with_lines; } }
But it reads better with a change in labels:
FILE: while ( $more ) { LINE: while ( $still_more ) { # ... last FILE if $done_with_files; last LINE if $done_with_lines; } }