I'd like to expand a bit on Corion's fine response. In general, you should take it as a big red flag whenever you have many (and in your case, MANY) separate variables, which are all somehow related. Perhaps they share a common prefix, or are an incrementing pattern (such as your code). This red flag should make you consider using a datastructure that actually relates the values together by more than just a name.

Another big red flag is repetition. Having 36 lines of code that are only different by a few characters should make you stop and think. Copying and pasting things many times is not something you should be doing very often. Subroutines often help avoid this (all-too-common) syndrome.

Both of these things are present in your program, and in very large doses. Corion gives a nice example of how to clean this specific code up, but the ideas are more general. Use real data structures, use loops, and use subroutines. Copying and pasting is almost always wrong. :-)

Update: cleaned up some wording.


In reply to Re: Switch statement? by revdiablo
in thread Switch statement? by crep

Title:
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, details, 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, summary, 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.