There's no specific reason not to.

If you are only making a small hash (with low numbers) you may find that an array is easier and more efficient *but* there are benefits in using a hash this way over using an array:

Particularly if you have to use a very large index number in the array; I believe that an array is created with (empty where not defined) elements up to the size of the highest index number, so by using a large index number you are pre-allocating (and therefore wasting) a chunk of un-needed memory.

On the other hand with an array you can just do:

for my $element (@array)
and get all the elements back in order (which may or may not be useful in the case you are looking at), whereas with a hash you would have to sort the keys:
for my $key (sort keys %hash)
or explicitly ask for them:
for my $key (@array_of keys)
(which obviously means using a hash *and* an array!) because a hash does not store the keys (or values) in numerical order.

In reply to Re: HASH Array advice by serf
in thread HASH Array advice by Anonymous Monk

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.