Perl TimeOut

[problem]

You have a script which runs too long and you want to time it out, after a given number
of seconds.

[/problem]

[solution]

Useful bit of code to time-out a section of your Perl script, via the alarm function.

See the example tab.

[/solution]

[example]


#!/usr/bin/perl

eval {

local %SIG;
$SIG{ALRM}=
sub{ die “timeout reached, after 20 seconds\n”; };
alarm 20;
print “sleeping for 60 secondsn”;
sleep 60; # This is where to put your code, between the alarms
alarm 0;
};

alarm 0;

if($@) { print “Error: $@\n”; }

exit(0);


__END__

[/example]

[reference]

[tags]Perl timeout, Perl Coding School[/tags]

[/reference]

If you have found my website useful, please consider buying me a coffee below 😉

Leave a Reply

Your email address will not be published. Required fields are marked *