Macos 从OSX上的默认Perl,如何解压缩到文件夹?
我试图避免包含其他库,并在OSX上保持简单,使用自Snow Leopard以来OSX附带的默认Perl。我还试图避免炮击来运行解压。我找到了几乎所有的作品,但都死在这一行:Macos 从OSX上的默认Perl,如何解压缩到文件夹?,macos,perl,zip,unzip,compression,Macos,Perl,Zip,Unzip,Compression,我试图避免包含其他库,并在OSX上保持简单,使用自Snow Leopard以来OSX附带的默认Perl。我还试图避免炮击来运行解压。我找到了几乎所有的作品,但都死在这一行: my $fh = IO::File->new($destfile, "w") or die "Couldn't write to $destfile: $!"; 出现此错误时: 无法写入/tmp/mytest/Install Norton Security.localized//:是test7.pl第42行的目录 之前,我
my $fh = IO::File->new($destfile, "w") or die "Couldn't write to $destfile: $!";
出现此错误时:
无法写入/tmp/mytest/Install Norton Security.localized//:是test7.pl第42行的目录
之前,我将文件夹“Install Norton Security.localized”压缩到mytest.zip,并将其插入/tmp。然后我创建了一个目录/tmp/mytest。然后,我用
unzip(“/tmp/mytest/mytest.zip”,“/tmp/mytest”)代码>
我还对脚本进行了lint语法检查,结果很好——没有像许多其他Perl压缩库那样警告我缺少库
您建议的解决方案是什么?此例程适用于较旧的OSX,不需要太多的代码行。它还处理子文件夹
#!/usr/bin/perl
use strict;
use warnings;
use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
my $sSource = "/tmp/mytest.zip";
my $sDest = "/tmp/mytest";
x_unzip($sSource,$sDest);
sub x_unzip {
my ($zip_file, $out_file, $filter) = @_;
my $zip = Archive::Zip->new($zip_file);
unless ($zip->extractTree($filter || '', $out_file) == AZ_OK) {
warn "unzip not successful: $!\n";
}
}
资料来源: