Perl模块存档::Zip-如何知道成员是否是文件目录?

Perl模块存档::Zip-如何知道成员是否是文件目录?,perl,perl-module,Perl,Perl Module,关于Archive::Zip的快速问题。如何知道成员是目录还是文件?我需要将特定Zip中的所有Ear文件移动到另一个目录。但是,有些目录也有.ear后缀,我不想要这些 我正在做: my @jarMembers = $zip->membersMatching('^.*\.jar'); foreach my $member (@jarMembers) { my $fileName = basename($member->FileName()); $zip->Extr

关于
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";
}
这会告诉我成员是文件还是目录,或者我的第一个代码片段就足够了吗?

我的Perl版本(Mac OS X 10.6.5上的5.10.0)在
Archive::Zip::member
中有这个方法:


谢谢我不知道为什么我没有在Archive::Zip文档中看到这一点。
 isDirectory()
     Returns true if I am a directory.