eval {BLOCK} is only catching fatal errors, either thrown with die or from inside perl.
But these seem to come from warn
One way is to locally use a %SIG -handler.
DEMO:
> perl -de0 ... DB<173> eval { local $SIG{__WARN__} = sub { die $_[0] }; warn "bla" +} or print "<<<$@>>>" <<<bla at (eval 197)[c:/nonBKU/strawberry-perl-5.32.1.1-64bit-portable +/perl/lib/perl5db.pl:738] line 2. >>> DB<174>
There is also a pragma for this redirection - use warnings FATAL =>"all"; °
But with a handler you can also choose to save the warnings to another variable separate from fatals.
FWIW: Another approach would be to locally redirect STDERR to a var...
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
°) updated see https://perldoc.perl.org/warnings#Fatal-Warnings for more
In reply to Re: Make Spreadsheet::ParseXLSX be quiet about errors ($SIG{__WARN__} )
by LanX
in thread Make Spreadsheet::ParseXLSX be quiet about errors
by leszekdubiel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |