Look at mirror and the second argument to request in LWP::UserAgent. The second argument controls where the response goes. If it is a scalar, it is used as a filename. If it is a code references, the callback is called with the blocks of data. For your application, your subroutine can validate and then throw away the dat. Also, look at LWP::Protocol::collect
With Net::FTP, you will have to read from the data socket yourself. The retr command will start the download and return the socket for the data connection. Your code can then read the data and throw it away.my $ua = LWP::UserAgent->new(); my $request = HTTP::Request->new('PUT', $url, undef, $content"); my $response = $ua->request($request, \&check_response);
For uplaods, you will have to do things differently. But both LWP and Net::FTP will read from local files for uploads and don't need to hold the entire file in memory.
In reply to Re: Using Less Memory for LWP/FTP
by iburrell
in thread Using Less Memory for LWP/FTP
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |