People have suggested sparse arrays. If your data is really sparse, as in very sparse, not actually sparse, one way to do this is to use a hash with the numbers as keys. If your data isn't very sparse this will be much larger than an array of course. But say if you had 1,000,000 elements in that address space then a hash would only use say 12 megabytes or so.

$chem{27}{242272800}=6; # one element = less than 30 bytes #or even $chem[27]{242272800}=6; # an array of hashes if all 'm's # are used but very few 'n's #as opposed to $chem[27][242272800]=6; # great heaping piles of RAM needed

As mentioned the array of arrays solution will need the better part of a terabyte of virtual space to work while if you have sparse data, less than a Gig might suffice nicely.


In reply to Re: Numeric limits in perl by dga
in thread Numeric limits in perl by npiazza

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.