如何使用perl脚本从多个子文件夹解压多个文件?

如何使用perl脚本从多个子文件夹解压多个文件?,perl,Perl,我在父目录中有多个子文件夹,每个子文件夹有10多个zip文件,例如。 父目录:/parentdir 子目录:/parentdir/2011-012011-02。。。直到2014-06年,依此类推。。每个月 每个子目录:file1.zip,file2.zip。。。file10.zip 我想使用perl脚本解压相同子文件夹中的所有文件,并在解压后删除.zip文件,或者只是将file1.zip解压到file1 您能在unix机器上使用PERL脚本帮助实现这一点吗 有可能使用 use strict; u

我在父目录中有多个子文件夹,每个子文件夹有10多个zip文件,例如。 父目录:/parentdir 子目录:/parentdir/2011-012011-02。。。直到2014-06年,依此类推。。每个月

每个子目录:file1.zip,file2.zip。。。file10.zip

我想使用perl脚本解压相同子文件夹中的所有文件,并在解压后删除.zip文件,或者只是将file1.zip解压到file1

您能在unix机器上使用PERL脚本帮助实现这一点吗

有可能使用

use strict;
use warnings;
use IO::Uncompress::Unzip qw(unzip $UnzipError);

my $zipfile = $ARGV[0];
my $u = new IO::Uncompress::Unzip $zipfile
or die "Cannot open $zipfile: $UnzipError";

die "Zipfile has no members"
 if ! defined $u->getHeaderInfo;
}
但它只提供了一个解压缩/解压文件的选项

更新米勒的答案 使用并安装了rpm for Path::Class for per to recon.,现在仍然无法解压子文件夹中的文件:IO::解压::解压:输入参数不是unzipper.pl第13行的文件名、文件句柄、数组引用或标量引用

我有一个父文件夹api\U父文件夹 在子文件夹中-2014-01、2014-02

在上面的脚本中,我将/parentdir更改为/mnt/api\u parent\u文件夹

4.我的旅行路线如下

现在仍然无法解压子文件夹中的文件:IO::解压::解压:输入参数不是unzipper.pl第13行的文件名、文件句柄、数组引用或标量引用用于在目录结构中交互:

use strict;
use warnings;

use Path::Class;
use IO::Uncompress::Unzip qw(unzip $UnzipError);

my $dir = dir('/parentdir');

while ( my $subdir = $dir->next ) {
    next unless $subdir->is_dir();
    while ( my $zipfile = $subdir->next ) {
        my $u = IO::Uncompress::Unzip->new("$zipfile")
            or die "Cannot open $zipfile: $UnzipError";

        die "Zipfile has no members" if !defined $u->getHeaderInfo;
    }
}

使用并安装了rpm for Path::Class for per to recon.,@AruKaya,只需字符串化$zipfile变量即可修复<代码>我的$u=IO::解压缩::解压缩->新建(“$zipfile”)