2011-01-25 4 views
10

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

В PHP я хотел бы сделать это с $ сжат = gzcompress ($ строка)

Что такое эквивалент Perl из gzcompress РНР()?

ответ

26

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

gzip \$input => \$output 

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

+1

Спасибо, он отлично поработал. Бит «скалярной ссылки» в документации отбрасывал меня. – Dave

0
use Compress::Zlib; 
#then $out = compress($in) or $out = uncompress($in) 
Смежные вопросы