Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

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

by uG (Scribe)
on Jan 31, 2013 at 00:32 UTC ( #1016186=note: print w/ replies, xml ) Need Help??


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

I thought 'use warnings' was discouraged for published modules? I've always added it for development, but removed for distribution.


Comment on Re^3: How come undef eq '' ??
Re^4: How come undef eq '' ??
by muba (Priest) on Jan 31, 2013 at 02:41 UTC

    perlmodlib begs to differ:

    Try to use warnings; (or use warnings qw(...); ). Remember that you can add no warnings qw(...); to individual blocks of code that need less warnings.

      Effective Perl Programming, Chapter 11 has a small section titled 'Warnings in production.'

      The reasoning seems to be as follows:

    • Run time warnings impose a small speed penalty
    • - Probably not a problem
    • Warnings are meant to be seen by developers, not users
    • - Seems reasonable
    • Warnings change between versions of perl
    • - Some might feel new warnings popping up is a 'good thing'

      I could have swore i've read similar arguments in another book, but I can't find it. Its interesting that perlmodlib suggests to always 'use warnings' as this conflicts with what i've read.

      Edit: Found it. Perl Best Practices says: "Note that it may still be appropriate to comment out the use warnings line when your application or module is deployed, especially if non-technical users will interact with it, or if it will run in a CGI or other embedded environment. Issuing warnings in these contexts can needlessly alarm users, or cause server errors."

      Edit2: And again. Mastering Perl says (footnote 34) In general, I recommend turning off warnings once a program is in production. Turn on warnings when you need to test or debug the program, but after that, you don't need them. The warnings will just fill up log files.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-12-21 13:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (105 votes), past polls