Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: How many man-hours would you estimate you have invested in learning Perl?

by mithaldu (Monk)
on Apr 09, 2013 at 12:46 UTC ( #1027723=note: print w/ replies, xml ) Need Help??


in reply to Re: How many man-hours would you estimate you have invested in learning Perl?
in thread How many man-hours would you estimate you have invested in learning Perl?

Let me teach you something else. :)

#!/usr/bin/perl -w is not something you should use. Specifically the -w in there will enable warnings for ALL code, which can include modules which were expressly written to run correctly without warnings (like Coro).

A better preamble would be:

#!/usr/bin/env perl use strictures;
Happy coding! :D


Comment on Re^2: How many man-hours would you estimate you have invested in learning Perl?
Select or Download Code
Replies are listed 'Best First'.
Re^3: How many man-hours would you estimate you have invested in learning Perl?
by DrHyde (Prior) on Apr 17, 2013 at 12:03 UTC

    #!/usr/bin/env perl isn't portable, as not all platforms have env in the same place. You should use this instead:

    #!/bin/sh exec perl -x $0 "$@" #!perl # your perl code goes here
Re^3: How many man-hours would you estimate you have invested in learning Perl?
by blue_cowdawg (Monsignor) on Apr 09, 2013 at 13:59 UTC
        #!/usr/bin/perl -w is not something you should use. Specifically the -w in there will enable warnings for ALL code, which can include modules which were expressly written to run correctly without warnings (like Coro).

    Not sure I follow your argument. I want warnings turned on. It has saved my butt many a time and yes I'm aware of the drawbacks.


    Peter L. Berghold -- Unix Professional
    Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

      Sure, you want warnings turned on... for your own code. That's what use warnings is for.

      Why would you want to use a global setting to cause other modules to throw warnings even though they are operating as intended? (as in the example)

        For one example, "-w" catches all kinds of data errors, from premature EOF to non-numbers where you expect numbers, when you pass a file handle to someone else's code. You'll get false positives, but you will also get a hint where the problem lies when you are getting unexpected results. Fix the ones you care about, remove the "-w" when you're done, and there you go. Monstrosities like "strictures", which turn on all warnings but only in your code, will not only miss these errors, but complain about non-problems.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (11)
As of 2015-07-29 09:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (263 votes), past polls