my $command='whatever.....'; my $status; eval { local $SIG{ALRM} = sub { die("dead\n"); }; alarm 2; my $status=`$command`; alarm(0); # turn off the alarm clock }; if($@){ if($@ eq "dead\n"){ $status='Timeout'; }else{ chomp($status); } } return $status;