Perlスクリプトを使用して.tar内のいくつかのファイルを変更すると、結果の.tar内のディレクトリ構造が消えます。これを再現するために必要なのは、私がやってきたコードをどんどん排除することです。
my $data_tar = Archive::Tar->new('data.tar');
$data_tar->write('modified_data.tar');
両方の.tarファイルにはすべてのファイルが含まれていますが、ファイルとサブディレクトリがどのディレクトリにあるかは示されません。
Archive :: Tarのドキュメントとsrcを調べましたが、何が起こっているのか本当にわかりません。
私はwin32、tar 1.12、Archive ::Tar1.54でperl5.10.0を使用しています。エディターで.tarファイルを調べたところ、data.tarにはdir/とdir/ file.txtが含まれていますが、modified_data.tarではdirとfile.txtとして表示されるため、元のtarは問題ないようです。
これを以前に見たことがある人、または何かアイデアがある人はいますか?