Linux 如何使用PERL将多个*.tgz文件提取到多个目录?

Linux 如何使用PERL将多个*.tgz文件提取到多个目录?,linux,perl,tar,Linux,Perl,Tar,我正在学习PERL语言。 我已经强迫并且几乎没有混淆提取*.tgz文件的问题。 我想实现的一点是将多个*.tgz文件提取到多个文件夹中 因此,结构如下: first.tgz sec.tgz third.tgz ... n.tgz 我想将这些文件解压缩到目录: first (extracted first.tgz) sec (extracted sec.tgz) thidrd (extracted third.tgz) etc. 有人能帮我一下吗,或者给我一些如何实现的提示吗? 谢谢@daxi

我正在学习PERL语言。 我已经强迫并且几乎没有混淆提取*.tgz文件的问题。 我想实现的一点是将多个*.tgz文件提取到多个文件夹中

因此,结构如下:

first.tgz
sec.tgz
third.tgz
...
n.tgz
我想将这些文件解压缩到目录:

first (extracted first.tgz)
sec (extracted sec.tgz)
thidrd (extracted third.tgz)
etc.
有人能帮我一下吗,或者给我一些如何实现的提示吗?


谢谢@daxim,但问题是-如果这些*.tgz文件是milion怎么办?想法是如何在不知道它们的名称的情况下对它们进行迭代。Path::Tiny有一个迭代器方法。还有非递归的目录内容的子级。
use autodie qw(:all);
use Path::Tiny qw(path);
for my $archive (qw(first.tgz sec.tgz third.tgz n.tgz)) {
    my $basename = path($archive)->basename('.tgz');
    path($basename)->mkpath;
    system qw(aunpack -X), $basename, $archive;
}