#!/usr/bin/perl -w use strict; use Carp; $SIG{'ALRM'} = \&debug; alarm 5; sleep 1; sleep 1; sleep 1; sleep 1; sleep 1; sleep 1; sleep 1; sub debug { confess "here I got stuck:"; exit 1; } __END__ here I got stuck: at alarm.pl line 17 main::debug('ALRM') called at alarm.pl line 13 eval {...} called at alarm.pl line 13