## A quick (and very much appreciated) solution by Fergal Daly in repsonce to a request by Lyle Hopkins package Timeout; sub import { my $pkg = shift; my $timeout = shift; $SIG{ALRM} = sub { require Carp; Carp::confess("Script timed out after $timeout seconds"); }; alarm($timeout); } 1;