in reply to
Would you use 'goto' here?
Personally, I have no problems with it. (As a matter of fact, I posted something in the Snippets section earlier today that used the "magical" goto.)
The overall taboo associated with an unconditional jump instruction (goto) is just plain silly. If a tool is available, by all means use it if it does the job well. Sure with TMTOWTDI means that we probably don't need goto in Perl. We could also get away without grep, map, foreach, my, local, readline, for, and hashes if those suddenly became taboo also.
As for the criticism that a later programmer might not understand the code: limiting yourself to widely-known and well-used syntax is the antithesis of Perl programming and I want no part of it. goto is well documented, and it quite plainly states what the goto & statement does. Just because this isn't what OTHER languages do with goto isn't a reason to avoid it. Other languages might use "write" as the standard output statement -- perl doesn't. <>'s are exclusively comparison operators in some other languages -- that doesn't mean we should avoid them in Perl.