История изменений
Исправление Olegymous, (текущая версия) :
Или вообще обрабатывать die в главной программе. Тогда будет так
package B;
sub bad {
die "I'm bad";
}
package A;
sub foo {
print "I'm foo\n";
};
sub bar {
B::bad();
}
1;
use strict;
use lib 'lib';
use A;
# other code
....
{
local $SIG{__DIE__} = sub {
warn "died";
};
A::foo();
A::bar();
}
#other code
...
Исправление Olegymous, :
Или вообще обрабатывать die в главной программе. Тогда будет так
package B;
sub bad {
die "I'm bad";
}
package A;
sub foo {
print "I'm foo\n";
};
sub bar {
B::bad();
}
1;
use strict;
use lib 'lib';
use A;
{
local $SIG{__DIE__} = sub {
warn "died";
};
A::foo();
A::bar();
}
Исходная версия Olegymous, :
Или вообще обрабатывать die в главной программе. Тогда будет так
package B;
sub bad {
die "I'm bad";
}
package A;
sub die_handler {
warn "Died";
}
sub foo {
print "I'm foo\n";
};
sub bar {
B::bad();
}
1;
use strict;
use lib 'lib';
use A;
{
local $SIG{__DIE__} = sub {
warn "died";
};
A::foo();
A::bar();
}