Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Perl Programming guidlines/rules

by Abigail-II (Bishop)
on Nov 21, 2002 at 18:14 UTC ( #214848=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Perl Programming guidlines/rules
in thread Perl Programming guidelines/rules

Well, I would make coding standards for good programmers, and from a good programmer, I would assume he/she knows the language. Non-perl programmers shouldn't program Perl. And as a manager, or tech-lead, I wouldn't allow non-Perl programmers to touch Perl code.

Perhaps rule 0 should be: "People who can't program in Perl are not allowed to touch the code".

$_ is one of the most basic things in Perl. If you have problems with the readability of $_, you shouldn't call yourself a Perl programmer.

Abigail


Comment on Re: Perl Programming guidlines/rules
Select or Download Code
Replies are listed 'Best First'.
Re: Re: Perl Programming guidlines/rules
by BUU (Prior) on Nov 21, 2002 at 23:48 UTC
    I support using $_, but you should perhaps implement a standard/guideline in the form of 'Localize $_ in all user created subs', as something like the following:
    sub foo{my $blah=shift; $_=substr $blah,0,1; /foo/;}
    Which looks fairly innocuous in the use of $_ to avoid more temporary vars (It's not an extremely good example, but it serves), but then you do something likemap{foo($_->[0]);$_;} which can return wildly different results then you expected, and lead to many.. interesting.. bugs.
      Wow, that really localizes $_ ? To me, it looks more like a straight assignment to $_. I would've expected something like:

      sub foo { local $_ = shift; /foo/; }

      blyman
      :wq

        No, it doesn't localize, and I'm fairly certain that BUU was pointing out that failing to do so is dangerous.

        Makeshifts last the longest.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (14)
As of 2015-07-29 14:29 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