Как мне сжать gzip строку в Perl - PullRequest
10 голосов
/ 25 января 2011

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

В PHP я бы сделал это с помощью $ compress = gzcompress ($ string)

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

Ответы [ 3 ]

26 голосов
/ 25 января 2011

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

gzip \$input => \$output

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

4 голосов
/ 25 января 2011
1 голос
/ 31 июля 2014
use Compress::Zlib;
#then $out = compress($in) or $out = uncompress($in)
...