Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

GOTO in C, not in Perl

by grinder (Bishop)
on Jan 27, 2009 at 10:43 UTC ( #739145=note: print w/ replies, xml ) Need Help??


in reply to GOTO or not GOTO

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


Comment on GOTO in C, not in Perl

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://739145]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (16)
As of 2014-07-14 17:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (269 votes), past polls