作为Perl脚本的一部分,我试图从zip文件夹中读取组件而不解压缩它们。经过一番研究,我开始尝试使用Archive :: Zip :: MemberRead,创建一个test.zip,其中包含一个带有2个文本字段的测试文件夹,它似乎工作正常。我面临的问题是我实际需要解析zip文件的内容,只是在压缩文件中包含所有.txt,.dat,.csv文件而没有任何子目录,这似乎是导致问题的原因。 test.zip包含大约30个不同的压缩文件,包括node_info.txt,并且我一直在使用下面的代码,它在zip文件夹中有一个子目录时工作。用Perl读取zip文件内容
my $zip = Archive::Zip->new("C:\\test.zip");
my $fh = Archive::Zip::MemberRead->new($zip,'node_info.txt');
while (defined(my $line = $fh->getline()))
{
print $line . "\n";
}
当我尝试运行它,虽然它的错误无法在位于C未定义的值调用方法“readChunk”:/Perl/lib/Archive/Zip/MemberRead.pm线268有什么不同在传递特定成员以供阅读时,我需要做些什么?
你需要使用Perl吗?另一种方法是使用Perl来驱动一个像7zip这样的命令行应用程序。 – David
并非真正需要,但是尽量避免尽可能多的第三方内容,因为这将是人们从多台机器上运行的东西,所以我想尽可能保持依赖关系不变。 – user1401967