Archive::Zipでzipファイルを一括解凍

アーカイバはLhazを使っとるのぢゃが、zipファイルが複数ある場合、一括解凍できんので、カレントディレクトリにあるzipファイルを一括で解凍するPerlスクリプトを作ってみたぞぃ。

#!/usr/bin/perl -w
use strict;
use Archive::Zip;

my @files = ();
my $zip   = Archive::Zip->new();

opendir(DH, './') or die($!);
@files = grep(/\.zip$/, readdir(DH));
closedir(DH);

for my $file (@files) {
    if ($zip->read($file) == Archive::Zip::AZ_OK) {
        my @members = $zip->members();
        for my $member (@members) {
            if ($member->fileName()) {
                $zip->extractMemberWithoutPaths($member->fileName());
            }
        }
    }
}