use warnings; use strict; use Config; use Data::Dumper; my (%signo, @signame, $i); $i = 0; defined $Config{sig_name} || die "No sigs?"; foreach my $name (split(' ', $Config{sig_name})) { $signo{$name} = $i; $signame[$i] = $name; $i++; } print Dumper(\@signame); sub sighandler { print "sighandler called\n"; } $SIG{BREAK} = \&sighandler; sub s1 { kill("BREAK", $$); } s1(); sleep 1; print "after sleep\n"; exit; #### $VAR1 = [ "ZERO", "HUP", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD" ]; after sleep