#!/usr/bin/perl use Carp qw(confess cluck); use strict; $SIG{__DIE__} = \&confess; $SIG{__WARN__} = \&cluck; a(); sub a { print "in a\n"; b("foo"); } sub b { warn "got wrong value $_[0]\n"; c("bar"); } sub c { print "in c\n"; die "dying because of $_[0]!\n"; }