Как мне обработать ответ как файл без использования опции: content_file? - PullRequest
2 голосов
/ 02 марта 2010

Пример кода:

my $ua = LWP::UserAgent->new;  
my $response = $ua->get('http://example.com/file.zip');
if ($response->is_success) {
    # get the filehandle for $response->content
    # and process the data
}
else { die $response->status_line }

Мне нужно открыть содержимое в виде файла без предварительного сохранения его на диск. Как бы вы это сделали?

Ответы [ 2 ]

6 голосов
/ 02 марта 2010

Вы можете открыть поддельный дескриптор файла, который указывает на скаляр. Если аргумент файла является скалярной ссылкой, Perl будет обрабатывать содержимое скаляра как данные файла, а не как имя файла.

open my $fh, '<', $response->content_ref;

while( <$fh> ) { 
    # pretend it's a file
}
0 голосов
/ 02 марта 2010
...