2013-05-07 2 views
1

У меня есть файл tar.gz размером около 60 МБ, и этот файл имеет внутри него XML-файл ... и при извлечении файла я получаю Out Память! ошибка ... Ниже приведен код, я использую для извлечения файла ....Из памяти при извлечении файла tar.gz с использованием perl

use strict; 
use warnings; 
use Archive::Extract; 
$TAR_FILE_PATH = 'C:/Perl/IN/test_sample.tar.gz'; 
$WPARK_DIR = 'C:/Srinivas/Perl/WORK'; 
my $extract_obj = Archive::Extract->new(archive => $TAR_FILE_PATH, type => 'tgz'); 
$extract_obj->extract(to => $WORK_DIR); 

Его неудовлетворительного на последнюю строку в то время извлечения файла tar.gz в WORK_DIR. Может кто-то предложить лучший способ справиться с этим и извлечь огромный XML-файл в файл tar.gz.

+0

файл XML внутри файла tar.gz составляет около 800 Мб .... – Srini

+0

может кто-то помочь мне в получении из-за этой ошибки !!! – Srini

ответ

1

Модуль Archive :: Extract может использовать либо чистое решение perl, либо вернуться к системному вызову. Вы можете установить PREFER_BIN, чтобы заставить его использовать системный вызов, который менее интенсивен.

http://perldoc.perl.org/Archive/Extract.html#Supporting-Very-Large-Files

Смежные вопросы