Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Number of times I've used goto in Perl

by tlhf (Scribe)
on Mar 12, 2002 at 23:29 UTC ( #151263=note: print w/ replies, xml ) Need Help??


in reply to Number of times I've used goto in Perl

I know this topic is all kinds of old, but, I have a very short script which checks if multiple servers are online. I also wanted it so that via optional command line options $loop (boolean) and $time (integer) it would loop until all the servers are online. At this point it would beep a lot.

Yet rather than putting all the code in a big evil while() loop, or in a big evil sub, I thought sticking this at the bottom seemed to make a lot more sense, both code shortness and clarity-wise.

goto START if ($loop && sleep($time||300));

tlhf
xxx
I had always knew gotos were bad. Now I know that you can never know anything ;)


Comment on Re: Number of times I've used goto in Perl
Download Code
Re^2: Number of times I've used goto in Perl
by JavaFan (Canon) on Jun 08, 2010 at 12:58 UTC
    In the case of long running daemons, I prefer to write that as:
    exec $0, @ARGV if $loop && sleep ($time || 300);
    Of course, that assumes you aren't collecting stats over multiple loops.

    The advantage of using exec instead of a goto (or loop), is that if there's a memory leak somewhere (be it in your script, a module or library you use, or a in perl itself), it will accumulate with a loop, but not with an exec.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (12)
As of 2014-07-14 10:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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








    Results (257 votes), past polls