Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2015-10-09 16:10 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (244 votes), past polls