Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^4: I know what I mean. Why don't you?

by Aristotle (Chancellor)
on Nov 24, 2005 at 01:04 UTC ( #511296=note: print w/ replies, xml ) Need Help??


in reply to Re^3: I know what I mean. Why don't you?
in thread I know what I mean. Why don't you?

Judging the use of strict and warnings by the presence of the pragmata alone is stupid. No my in sight in a longer snippet that uses multiple variables is a much better indicator. Global filehandles and two-argument open are additional red flags. Basically, Iíve seen enough bad Perl code that I can tell it by the ďsmellĒ Iím not even sure all of the hints I pick up on are conscious.

Though in general, unless the problem is obviously caused by a lack of strictures or would clearly have been pointed out by a warning, I only suggest that the poster may make his life easier by using them. And Iíve downvoted a fair number of nodes where someone just hawks about strictures and warnings when they obviously havenít even taken the time to read the posterís problem description and code. (I remember there was a thread recently where half a dozen people worthlessly posted about strict and warnings when the problem had absolutely nothing to do with that. Way to pollute the forum.)

Makeshifts last the longest.


Comment on Re^4: I know what I mean. Why don't you?
Re^5: I know what I mean. Why don't you?
by bigmacbear (Monk) on May 20, 2006 at 00:31 UTC

    Global filehandles and two-argument open are additional red flags.

    True, unless one is writing scripts that must run on older systems which came with perl 5.005_03 and can't be upgraded in a timely manner. There's still a lot of Solaris 8 out in the wild to which this applies.

      You can use Symbol::gensym on such old perls to get lexical filehandles (more awkward, but gets you the same benefits), and you could write a conditionally installed wrapper to emulate three-arg open (only awkward once, but only worthwhile when you can foresee value in making the code easily forward-upgradable). Whether the effort is justified will depend on your particular circumstances, of course (but see also my signature).

      Makeshifts last the longest.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2014-09-21 09:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (168 votes), past polls