Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

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

by LanX (Sage)
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. ;-)


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?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2022-01-26 20:22 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (70 votes). Check out past polls.