Thanks Dave, although the @array is already in a small scope (the "next" iterator). The problem is the reference of @array that is pushed to a global array
$self->{files}. The refcount made by that means @array sticks around until $self is destroy, that is
IF garbage collection is even able to find and delete all references, which I doubt. Run that over a terrabyte server and I think this is my problem.
Heading to bed now but I'll post some working code for you to test tomorrow. Note though, my included link
Re: Streaming to Handles (iterator) contains pretty much the "guts" of the code except for the few extra lines I posted in my example.