Я использую скрипт Perl для изменения некоторых файлов внутри .tar, и структура каталогов внутри полученного .tar исчезает.
Исключая все больше и больше кода, я дошел до того, что все, что требуется для воспроизведения, это
my $data_tar = Archive::Tar->new('data.tar');
$data_tar->write('modified_data.tar');
Оба .tar-файла имеют все файлы, однако указание того, в каких каталогах находились файлы и подкаталоги, потеряно.
Я просмотрел документы и документы на предмет Архив :: Tar , но я действительно не понимаю, что происходит.
Я использую Perl 5.10.0 на win32, tar 1.12 и Archive :: Tar 1.54.
Я изучил .tar-файлы в редакторе, и data.tar содержит dir / и dir / file.txt, но в файле modify_data.tar они отображаются как dir и file.txt, поэтому мой оригинальный tar выглядит нормально.
Кто-нибудь из вас видел это раньше или у вас есть идеи?