There are valid performance reasons for using goto in C: it compiles down to a single instruction and is the nicest way to build a state machine.
On the other hand, using goto in Perl is very slow: the interpreter has to walk up and down the optree to look for the label. Since Perl is so much slower anyway, you may as well use a dispatch table (of coderefs in a hash) instead, if it's a state machine you're after.
Anyway, getting back to the OP, an infinite loop (while (1) {...}) with an explicit break (last) is preferable to a goto back to the beginning, or a do while.
• another intruder with the mooring in the heart of the Perl
In reply to GOTO in C, not in Perl
by grinder
in thread GOTO or not GOTO
by jflevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |