NAME

Compress::LZ4Frame - Compression package using the lz4frame library

VERSION

version 0.012002

SYNOPSIS

    use Compress::LZ4Frame qw(:all);

    my @data = map { rand } (1..50000);
    my $packed = pack('d*', @data);

    # compress
    my $compressed = compress($packed);
    # or with checksum
    my $compressed = compress_checksum($packed);

    # check data
    looks_like_lz4frame($compressed);   # some true value
    looks_like_lz4frame($packed);       # some false value

    # decompress
    my $decompressed = decompress($compressed);

    my @result = unpack('d*', $decompressed);
    # @result now contains the same values as @data did

FUNCTIONS

compress

    $compressed = compress($data [, $level])

Uses the lz4frame library to compress the given data. The optional compression level is passed through to lz4frame.

compress_checksum

Usage is the same as compress. The only difference is, that a checksum is included into the resulting data, which will be checked by decompress.

decompress

    $data = decompress($compressed)

Decompresses the given data.

looks_like_lz4frame

    $okay = looks_like_lz4frame($data)

Checks the given data for a valid LZ4 frame.

COMPATIBILITY

The format of the compressed data is incompatible to that of Compress::LZ4, thus they are not interoperable. Other than that this package should be compatible to every program/library working with the official lz4frame format.

ACKNOWLEDGEMENTS

Many thanks goes to the following individuals who helped improve Compress-LZ4Frame:

Yann Collet for creating the LZ4 library and the lz4frame format, also for helping me fix nasty bugs.

A. Sinan Ünür for nmake support.

SEE ALSO

AUTHOR

Felix Bytow <felix.bytow@googlemail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by afr-consulting GmbH.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.