Subject: | Recursion in Error.pl |
Only a called die is routed to Core::die but not a normal exception.
Change:
sub _show_error_message {
# prevent from endless loops if we die internaly
local *CORE::GLOBAL::die;
{ no warnings qw(redefine);
*CORE::GLOBAL::die = sub { CORE::die(@_) };
}
to:
sub _show_error_message {
# prevent from endless loops if we die internaly
local (*CORE::GLOBAL::die, $main::SIG{__DIE__});
{ no warnings qw(redefine);
*CORE::GLOBAL::die = $main::SIG{__DIE__}
= sub { CORE::die(@_) };
}