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

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
It's been demonstrated repeatedly that you really can't deal with more than 7 (plus or minus 2) things in your active brain at a time. (Unless you're a chess grandmaster, but that's a different story.)

Given that, you have about 25 things "in play" right after "my @main_subjects". There's really no point in that.

Instead, as others have said, introduce things as you need them (to give them a meaningful context), but more importantly, also figure out ways to reduce the scope of items, to take them "out of play" as soon as possible.

For example, presuming you needed that $i just for a loop, declare it as part of the loop. Or if $region is used only for a few steps, either put those steps into a subroutine (so the inputs and outputs are clearly defined), or at least put it into a block:

{ my $region = 1; ... }

Also, variables with names like "@act_list1" and "$region2" hint to me that they really ought to be part of an array. Almost certainly, you're going to get to see code that does exactly the same thing to @act_list1 and @act_list2. Naming them as separate variables means you'll have to copy some of your code. If they were part of an array, you could just iterate over the array.

And finally, there's a school of thought that a variable should be "born meaningful". Having a bunch of declarations at the front means they'll have to have some temporary dummy value in them until the time that their real initial value is computed. What's the point in that?

Just a few tips there.

In reply to Re: Declaring a Variable [for BEGINNERS] by merlyn
in thread Declaring a Variable [for BEGINNERS] by brusimm

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
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others contemplating the Monastery: (6)
    As of 2015-11-28 22:02 GMT
    Find Nodes?
      Voting Booth?

      What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

      Results (746 votes), past polls