in reply to Exit while loop on first match

The previous suggestions to use last are excellent. A loop label might help:

MATCH: while { ... last MATCH; }

Also, I use the phrase "synthectic code" to refer to architectural code: hacks that just exist as a frame to make the algorithm work. This is a phrase stolen from a perl.com article, http://www.perl.com/pub/a/2000/06/commify.html

Cheers,
Erik

Update: Forgot a colon . . . boy is my face red . . .