Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: RFC: beginner level script improvement

by eyepopslikeamosquito (Chancellor)
on Sep 20, 2013 at 09:13 UTC ( #1054982=note: print w/ replies, xml ) Need Help??


in reply to RFC: beginner level script improvement

A few random suggestions after skimming your code:

  • Prefer lower case for variable names (your code looks like it's shouting).
  • Learn Perl here documents.
  • Spend more time choosing good names (descriptive, explanatory, consistent, regular, ... spelt-correctly ;-).
  • Your main program is way too long. Decompose it into modules. Write unit tests for each module. Avoid big-arse functions.
  • Run your script through Perl::Critic.
  • Prefer three-argument open.
  • Insert $! in your error strings when a Perl function fails.
  • Prefer low precedence or to ||; for example, prefer or die to || die.
  • Don't use a leading & when calling functions.
  • Avoid C-style for loops. For example, prefer for my $item (@arr) {...$item...} to for(my $I=0;$I<@ARR;$I++) {...$ARR[$I]...}.
  • Prefer my variables to our variables. Declare variables at point of first use (do not declare a huge bunch of variables at the top of a subroutine). Minimize variable scope. Avoid global variables.


Comment on Re: RFC: beginner level script improvement
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (14)
As of 2015-07-28 22:56 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 (260 votes), past polls