Rand Stats



Perl6 Brotli Compression

Build Status artistic

Provides acces to Brotli compression by means of the perl6 NativeCall API.


A simple compression/decompression round trip can be written as follows.

use Compress::Brotli; 

my Buf $blob = compress("a simple string");
my Buf $buffer = decompress($blob);
say $buffer.decode('UTF-8');

To control the parameters of the brotli compression an object of class Compress::Brotli::Config can be passed as an argument to the compress subroutine.

use Compress::Brotli; 

# a low quality text compression
my Config $conf = Config.new(:mode(1),:quality(1),:lgwin(10),:lgblock(0));
my Buf $blob = compress("a simple string",$conf);


Linux, FreeBSD and Mac OSX are tested and supported.


To build brotli the libbrotli project is used. To succesfully compile libbrotli and the added wrapper library you need: libtool, autoconf, gmake and automake.


Artistic License 2.0