Как мне сжать сжатие строки в Perl?

У меня есть строка, которую я хотел бы сжать с помощью GZip, прежде чем вставлять в базу данных как BLOB. Однако кажется, что встроенные модули GZip Perl предназначены для сжатия файлов, а не встроенных строк.

В PHP я бы выполнил это с помощью $compress = gzcompress ($ string)

Что такое Perl-эквивалент PHP gzcompress()?

Ответ 1

В IO::Compress::Gzip есть функция gzip, которая должна делать то, что вам нужно. Что-то вроде этого:

gzip \$input => \$output

будет более или менее эквивалентным вашему PHP. Обратите внимание на использование ссылок на скаляры, если вы хотите делать все в буферах памяти, если вы используете простые скаляры, тогда gzip будет считать, что они являются именами файлов.

Ответ 3

use Compress::Zlib;
#then $out = compress($in) or $out = uncompress($in)