我正在使用 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::Tar 1.54 上使用 perl 5.10.0。我在编辑器中检查了 .tar 文件,data.tar 包含 dir/ 和 dir/file.txt,但在 modified_data.tar 中,它们显示为 dir 和 file.txt,所以我的原始 tar 似乎没问题。
你们中的任何人以前见过这个或有任何想法吗?