Получите декомпилятор Sothink SWF. Не свободный, но стоящий того. Недавно используемый он для декомпиляции SWF, что я потерял fla для, и я мог абсолютно распространение в прямом и обратном направлениях swf-fla и назад!
текст ссылки
I tried that on a large tar and got an error too. Probably a bug in libs. The following worked for me:
@files = split/\n/, `tar tf $file`
Из Архив :: Tar
FAQ :
Разве Archive :: Tar не медленный? Да. Это чистый Perl, поэтому он намного медленнее, чем ваш / bin / tar. Однако он очень портативен. Если скорость является проблемой, рассмотрите возможность использования вместо этого / bin / tar.
Разве Archive :: Tar не занимает больше памяти, чем / bin / tar? Да, см. Предыдущий ответ. Поскольку Compress :: Zlib и, следовательно, IO :: Zlib не поддерживают поиск по своим дескрипторам файлов, у них нет другого выбора, кроме как читать архив в память. Это нормально, если вы хотите манипулировать архивом в памяти.
Если вы хотите просто извлечь, используйте вместо этого метод класса extract_archive. Он произведет оптимизацию и немедленно запишет на диск.
Другой вариант - использовать метод класса iter для перебора файлов в архиве без одновременного чтения их всех в памяти.
Итак, исходя из вышеизложенного, это должно быть решение (непроверено):
my $next = Archive::Tar->iter( $file );
while ( my $f = $next->() ) {
say $f->name;
}
/ I3az /
если Perl не является обязательным, используйте tar
$ tar tvf file.tar