in reply to Make Spreadsheet::ParseXLSX be quiet about errors
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Make Spreadsheet::ParseXLSX be quiet about errors ($SIG{__WARN__} )
by leszekdubiel (Scribe) on Aug 18, 2022 at 18:42 UTC | |
by LanX (Saint) on Aug 18, 2022 at 19:31 UTC |