Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: How can I suppress 'uninitialized' warnings in a CPAN module?

by LanX (Chancellor)
on Nov 17, 2013 at 23:04 UTC ( #1063017=note: print w/replies, xml ) Need Help??


in reply to Re: How can I suppress 'uninitialized' warnings in a CPAN module?
in thread How can I suppress 'uninitialized' warnings in a CPAN module?

> I have 2 questions, are these 2 lines correct?

Correct yes but...

> line 14 : local $SIG{__WARN__} = \&suppress_UV_warning;

Personally I prefer anonymous subs if I never need to call them by name.

> line 50 : warn $message;

You should check the Perl-version, IIRC this causes an endless loop in Perl older < 5.8 (?) (Too lazy to look up when it was exactly fixed)

Newer versions are fool proof. ;-)

update

Talking about "generic solutions":

Please be aware that this approach doesn't help if the module in question is also recklessly overwriting $SIG{__WARN__}

Therefore a safe way of overriding is to create a wrapper, which calls the overridden handler from within (if present in $SIG{__WARN__}).

But you can only be sure after checking the source code of the module in question.

Cheers Rolf

( addicted to the Perl Programming Language)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1063017]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2016-08-31 23:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The best thing I ever won in a lottery was:















    Results (436 votes). Check out past polls.