#!/usr/bin/env perl use strict; use warnings; our $flag = 0; $SIG{ALRM} = \&Watchdog; sub Watchdog { print "--- Tick ".$main::flag++."---\n"; if ($main::flag >3) { print "--- Bark! Bark! ---\n"; exit 1; } alarm 1; } alarm 1; while(1) { print "main loop...\n"; while(1){}; print "done\n"; $main::flag = 0; }