d:\work
ディレクトリにある.tgz
ファイル(ディレクトリツリー/ファイルを含む)を抽出し、変更して再パックする必要があります。 .tgz
番目のファイル \フォルダ123a
、多くのサブフォルダが含まれているので、 は、抽出されたフォルダには、(D:\work\123a\...
のようになります は、今私はArchive::Tar
を使用して再帰的にパックしようとしましたが、問題は「仕事」フォルダも圧縮されている - 。。だから、意志この「作品」フォルダ(CWDまたはルートディレクトリ)を除外するためにどのように\work\123a\...
こと すべてのヘルプは高く評価され 私のコード:。。Perl Archive :: Tarルートディレクトリを除外する方法
my $tar = Archive::Tar->new;
$tar->read("$tgzfiles[0]");
$tar->extract();
(my $tgzfolder = $tgzfiles[0]) =~ s/\.[^.]+$//;
# Here I make some changes in content{.....}
our $arc = Archive::Tar->new();
find(\&archiveit, "d:/work/$tgzfolder");
$arc->write("$tgzfiles[0]", 9);
sub archiveit {
$arc->add_files($File::Find::name);
}
それが含ま見つけ、それはハイテク、それはすでにある – Borodin