in reply to Re^2: Memory Managment with Subroutines and Objects
in thread Memory Managment with Subroutines and Objects
Ah, I see now that you are loading the "other script" via require. A more common approach would be to turn the first "script" into a Perl module, by naming it with a .pm extension and then loading it, still via require or use.
As memory management in Perl is mostly automatic, you don't have to do anything special to release the WWW::Mechanize object (as its documentation does not mention anything special either). If you want to reuse the same WWW::Mechanize object over and over, just store it in a variable at script startup and then use it from there:
package DownloadUtils; use strict; use vars '$mech'; sub get_mech { WWW::Mechanize->new(); }; $mech = get_mech(); sub get_file { $mech->get("$url", ':content_file' => "$file"); }; 1;
If you only simply want to download some URLs, LWP::Simple might be the easier approach. But it offers less convenience when it comes to cookies etc.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Memory Managment with Subroutines and Objects
by Anonymous Monk on Dec 29, 2010 at 02:39 UTC | |
by Corion (Patriarch) on Dec 29, 2010 at 08:14 UTC |