У меня почти файл tar.gz.Мне нужно пропустить несколько байтов перед распаковкой, а затем распаковать его, что-то изменить и снова упаковать.
#!perl
open (my $src, "<", $path) or die $!;
binmode($src);
seek($src, $magicNumber,0);
open(my $tgz, ">", $path . ".tar.gz");
binmode($tgz);
#while(<$src>){
# print $tgz $_;
#}
my $n; my $data;
while(($n = read $src, $data, 4) != 0){
print $tgz $data;
}
Почему при использовании некомментированной версии генерируется более короткий файл, чем не закомментированный (байт пропускается в середине).Я бы понял, если конец файла будет поврежден, но сгенерированные файлы отличаются где-то посередине.Любое объяснение этому?
К сожалению, я не могу загрузить файл, который воспроизводит проблему.