2011-01-25 12 views
10

Mam ciąg, który chciałbym skompresować przy użyciu GZip przed wstawieniem do bazy danych jako obiekt BLOB. Wydaje się jednak, że wbudowane moduły GZip Perl są przeznaczone do kompresowania plików, a nie ciągów inline.Jak skompresować ciąg gzip w Perlu

W PHP chciałbym osiągnąć z $ sprężone = gzcompress ($ string)

Co jest Perl odpowiednik gzcompress PHP()?

Odpowiedz

26

Istnieje funkcja gzip w IO::Compress::Gzip, która powinna zrobić to, czego potrzebujesz. Coś takiego:

gzip \$input => \$output 

będzie mniej więcej równoznaczne z PHP. Zwróć uwagę na użycie odwołań do skalarów, jeśli chcesz zrobić wszystko w buforach pamięci, jeśli użyjesz zwykłych skalarów, wtedy gzip pomyśli, że są to nazwy plików.

+1

Dzięki, działało świetnie. "Bit referencyjny" w dokumentacji wyrzucał mnie. – Dave

0
use Compress::Zlib; 
#then $out = compress($in) or $out = uncompress($in) 
Powiązane problemy