一个快速的问题
Archive::Zip
. 如何知道成员是目录还是文件?我需要将特定zip中的所有EAR文件移动到另一个目录。但是,有些目录还具有
.ear
后缀,我不想要那些。
我在做:
my @jarMembers = $zip->membersMatching('^.*\.jar');
foreach my $member (@jarMembers) {
my $fileName = basename($member->FileName());
$zip->ExtractMember($member, "$zipRootDir/$fileName";
}
我想核实一下我不会拿到目录
foo.ear
.
我怀疑目录名应该以斜杠结尾,但文档中没有明确说明这一点的内容。我还注意到了特殊的archive::zip::filemember方法,但在访问它们时文档的方式并不多。就是这样吗?
if ($member->externalFileName()) {
print "Member is a file\n";
} else {
print "Member is a directory\n";
}
这会告诉我一个成员是文件还是目录,还是我的第一个代码片段就足够了?