即时通讯使用perl模块提取.zip文件,它包含许多子目录,我使用下面的代码
my $extract_path = $des_path . "\\files";
mkdir $extract_path;
my $filename = $des_path . "\\" . basename($zipfile_path);
my $zip = Archive::Zip->new($filename);
foreach my $member ($zip->members)
{
next if $member->isDirectory;
(my $extractName = $member->fileName) =~ s{.*/}{};
$member->extractToFileNamed("$extract_path/$extractName");
}
但我的问题是它将整个文件放在一个文件夹中并避开子文件夹。这就是整个文件放在一个文件夹而不是制作子文件夹
出了什么问题,任何人帮助我
谢谢
答案 0 :(得分:3)
尝试用
替换你的foreach块$ zip-> extractTree();