#!/usr/bin/perl use lib 'lib', '../lib'; use Exception::Base ( '+ignore_package' => ['My::Package2', 'My::Package3'], 'Exception::My', ); for my $i (0..4) { Exception::Base->import( verbosity => $i ); print "*** default verbosity=", Exception::Base->ATTRS->{verbosity}->{default}, "\n"; eval { My::Package1::func(1) }; for my $j (0..4) { $@->verbosity($j); print "verbosity=$j, \$@='$@'\n"; } } package My::Package1; sub func { My::Package2::func(2); } package My::Package2; sub func { My::Package3::func(3); } package My::Package3; sub func { Exception::My->throw; }