Perl: IO :: Zlib ищут обходные пути - PullRequest
0 голосов
/ 01 марта 2019

У меня есть GZIP-файл двоичного файла.Я открыл его с помощью:

    $fh = new IO::Zlib;
    $fh->open($file_list[$i], "rb") or die "Open: $file_list[$i] failed\n";

Тогда, если я сделаю ..

$bytes_read = read $fh, $data, $entry_size[$file_idx], $offset;

Я получу ошибку.

substr outside of string at /usr/share/perl5/IO/Zlib.pm line 463.

Поиск не работает.Мне сказали, что есть обходные пути.

Пожалуйста, совет

Спасибо!

-SS

1 Ответ

0 голосов
/ 01 марта 2019

$offset относится к позиции в целевой строке $data, а не к некоторой позиции во входном файле, как вы могли бы предположить.Поскольку это не имеет ничего общего с seek (как в заголовке).В основном это говорит о том, что строка $data, которую вы дали read, недостаточно длинна, чтобы иметь данный $offset, и, следовательно, невозможно написать в данном $offset в $data.

...