#!/usr/bin/perl eval { local %SIG; $SIG{ALRM}= sub{ die "timeout reached, after 20 seconds!\n"; }; alarm 20; print "sleeping for 60 seconds\n"; #sleep 60; # This is where to put your code, between the alarms $x=; alarm 0; }; alarm 0; if($@) { print "Error: $@\n"; } exit(0);