2011-01-25 42 views
10

Tôi có một chuỗi mà tôi muốn nén bằng GZip trước khi chèn vào cơ sở dữ liệu dưới dạng BLOB. Tuy nhiên, có vẻ như các mô-đun GZip Perl được xây dựng đều được thiết kế để nén các tệp, chứ không phải các chuỗi nội tuyến.Làm cách nào để gzip nén một chuỗi trong Perl

Trong PHP tôi sẽ thực hiện điều này với $ nén = gzcompress ($ string)

một tương đương Perl của gzcompress PHP là gì()?

Trả lời

26

Có chức năng gzip trong IO::Compress::Gzip nên thực hiện những gì bạn cần. Một cái gì đó như thế này:

gzip \$input => \$output 

sẽ ít nhiều tương đương với PHP của bạn. Lưu ý việc sử dụng các tham chiếu đến vô hướng nếu bạn muốn thực hiện mọi thứ trong bộ nhớ đệm, nếu bạn sử dụng các scalars đơn giản thì gzip sẽ nghĩ chúng là tên tệp.

+1

Cảm ơn, nó hoạt động rất tốt. "Tham khảo vô hướng" bit trong tài liệu đã ném tôi đi. – Dave

0
use Compress::Zlib; 
#then $out = compress($in) or $out = uncompress($in) 
Các vấn đề liên quan