http://www.perlmonks.org?node_id=190458


in reply to Out of memory Error

How many lines do you have in that file? For each line, you are creating 9 strings, and an array. Each string will take 24 bytes overhead (on top of the length to the string itself). The overhead of the array is about 50 bytes, plus pointers to the strings stored, plus some because arrays always get a bit extra space allocated. That's about 120 bytes per array, making something like 336 bytes per line in the file. And that isn't counting the overhead of the hash. Or the actual content of the file.

So, if you have about 40 characters per line on average, the 670 Mb already allocated won't do....

Abigail