Perl does not impose arbitrary limits on the size of its datastructures. You could pull a 10 gigabyte file into a single scalar variable if your operating system supported such large files, and your available memory and swapspace could handle it.

But just because you can read the entire phone book from the state of California into memory at once doesn't mean you should. And just because Perl would let you doesn't mean your system can handle it. There won't be an "overflow", but there could be a lot of hard drive churning as the swapfile fills, lots of sluggish system behavior, and eventually some sort of error message letting you know you have completely saturated your system's resources.

If your datastructure has the potential of growing beyond your system's capability for handling it efficiently, you'll have to look for other solutions such as only holding a portion of the data in memory at a given time, or using a database.


Dave


In reply to Re: what is the maximum elements storage in a Hash or an array variable by davido
in thread what is the maximum elements storage in a Hash or an array variable 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.