# main thread: sub sig_die_handler { my $message = shift; warn $message; } [...] # child threads: local $SIG{__DIE__} = sub { &::sig_die_handler(shift) };