Доброго дня!
Мне необходимо создать бинарный файл содержащий заголовок с некоторыми данными и tar-архив сжатый gzip-м. Запись файла
Код:
open(OUT, '>:raw', $bic) or die "Failed open BIC-file $bic, $!";
print OUT pack("CCCC", 0, 0, 1, 0);
open(IN, '<:raw', $file) or die "Can't open update file $file, $!";
while(<IN>) {
my $buf;
read(IN, $buf, 1024);
print OUT $buf;
}
close IN;
close OUT;
Чтение файла
Код:
open(IN, '<:raw', $bic) or die "Can't open update file $bic, $!";
read(IN, $info{'ver'}, 4);
open(OUT, '>:raw', $file) or die "Failed open output file $file, $!";
while (<IN>) {
my $buf;
read(IN, $buf, 1024);
print OUT $buf;
}
close OUT;
close IN;
Всё замечательно записывается и считывается, но...
Проблема заключается в том, что после экстрагирования архива из бинарного файла он не является корректным tar.gz и имеет размер отличный от оригинального.
Вопрос - как корректно встроить архив в файл и выделить его из файла?
Спасибо.