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

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Just a couple of comments on coding style
  • You don't really *need* to comment what the purpose of your variables are if they're clearly labeled (they were pretty clear to me at least), although this is more of a personal preference than anything.
  • It's good practice to keep your line-length under 80 columns for several reasons
    • it shows that your expression is too long and probably needs to be simplified (as always there are exceptions)
    • 80 cols is the standard width for terms which leads on to ...
    • code is a lot easier to read when the lines are nice'n'short (again this is personal opinion)
  • Here's a good rule of thumb for the amount arguments to pass to functions - if you've got 7+ arguments you probably don't have enough[1]. I think you could reduce the amount arguments you pass about by taking advantage of perl's aggregate data types.
  • Ack - no use strict in sight! This is pretty much a must for anything but the smallest of perl programs, and the warnings pragma is also muchly helpful.
  • Is there any reason why you're passing some of your scalar variables as references? While this is helpful and sometimes necessary when dealing with hashes and arrays, scalars are passed by value so don't needed to be passed by reference (unless you've got a good reason to of course).
And do make sure you get onto using CGI and watching out for potential security holes (see. opening a pipe to sendmail).


[1] this is indeed sarcasm but unfortunately I cannot take credit for this masterful piece of wit[2] which was introduced to me by a co-worker
[2] that, however, is mine ;-)

In reply to Re: Some suggestions on coding style - a chance to critique by broquaint
in thread Some suggestions on coding style - a chance to critique by emilford

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [Discipulus]: ovedpo15 A subroutine may be called using an explicit & prefix. The & is optional in modern Perl... see perlsub in docs and search for ampersand
    [Discipulus]: it has some, even dangerous, implication
    [Discipulus]: I still use but I also attract many critics for this: I use when I call subs defined in the very same file, just to recognize them. You can avoid (but sometimes is needed)
    [marto]: believe it or not this is a SPAM account :P
    [Discipulus]: it seems a legitimate one.. grin ..

    How do I use this? | Other CB clients
    Other Users?
    Others meditating upon the Monastery: (8)
    As of 2018-05-22 12:16 GMT
    Find Nodes?
      Voting Booth?