in reply to garbage collection not happening?

It's a FAQ that Perl usually can't return freed memory to the OS, so you won't see any reduction in process space, but that memory is available to Perl to reuse during the current process.

It's also a FAQ that slurping as you've done is generally memory hoggy. You might want to use an interface that lets you look at each line as it comes in, rather than waiting until all 20M have been grabbed. If you really need to do this in reverse order (with pop), you could also look at putting the information into an external data file, like DBD::SQLite or DBM::Deep.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

  • Comment on •Re: garbage collection not happening?