#!/usr/bin/env perl use strict; use warnings; my %time_of_sig; sub handler{ my $sig = shift; print "SIG$sig recieved\n"; my $time = time(); if ($time_of_sig{$sig}){ my $diff = $time - $time_of_sig{$sig}; die "Two SIG${sig}s received within 5 seconds\n" if $diff <= 5; } $time_of_sig{$sig} = $time; } for (qw/INT QUIT ABRT/){ $SIG{$_} = \&handler; } while (1) { my $date = localtime(); print "It is now $date, and I'm still alive (Pid: $$)\n"; sleep(5); }