in reply to Perl out of memory
In cases like that it is best to use an iterator so you get one item back at a time and not fill memory at once with all the items.In other languages (like in C#) this happens by using 'yield' typically with a foreach loop,while in Perl the concept is explained in MJ Dominus's HOP book
In Section
Seekers of Perl Wisdom