Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: How come undef eq '' ??

by eyepopslikeamosquito (Canon)
on Jan 30, 2013 at 18:00 UTC ( #1016129=note: print w/ replies, xml ) Need Help??


in reply to Re: How come undef eq '' ??
in thread How come undef eq '' ??

Is there a more graceful way of doing this other than disabling warnings for that chunk - through __WARN__ - as I have done there?
I think your introduction of _unset_sig_warn() was misguided. Why not simply use lexical warnings? (see: perllexwarn). You typically switch off specific warnings in the smallest possible lexical scope. For example:
use strict; use warnings; my $z; # $z contains undef if ($z eq "") { # oops, Use of uninitialized value $z in string eq print "1. string is empty (with warnings)\n"; } # Switch off the specific uninitialized warning in a lexical scope. { no warnings 'uninitialized'; if ($z eq "") { # no warning this time print "2. string is empty (with no warnings)\n"; } } # warnings switched back on at end of scope
If there is a reason you cannot use this technique in your inherited CPAN module please let us know.


Comment on Re^2: How come undef eq '' ??
Select or Download Code
Re^3: How come undef eq '' ??
by tmharish (Friar) on Jan 30, 2013 at 19:43 UTC

    lexical warnings - perfect!

    Appreciate you taking the time to go through the code.

    Thank you!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2014-08-23 15:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (174 votes), past polls