Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

comment on

( [id://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

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (6)
As of 2024-03-28 13:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found