Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
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 wandering the Monastery: (6)
As of 2014-12-19 02:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (70 votes), past polls