#!/usr/local/bin/perl use warnings; use strict; sub do_program { print "Please wait for a timeout....\n"; } my $timeout = 5; eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm $timeout; &do_program(1, 100); alarm 0; }; if($@) { print "$@
\n"; }