The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Compress::unLZMA - Interface to LZMA decompression library

SYNOPSIS

  use Compress::unLZMA qw(uncompress uncompressfile);
  my $data = uncompressfile('foo.lzma');
  my $data = uncompress($content);

DESCRIPTION

LZMA is default and general compression method of 7z format in 7-Zip program. LZMA provides high compression ratio and very fast decompression.

This module is based on the LZMA SDK which provides a cross-platform implementation of the LZMA decompression algorithm in ANSI C.

From SDK lzma.txt file:

  LZMA decompression code was ported from original C++ sources to C.
  Also it was simplified and optimized for code size.
  But it is fully compatible with LZMA from 7-Zip.

METHODS

$data = uncompress($content)

Uncompress $data. if successful, it returns the uncompressed data. Otherwise it returns undef and $@ contains the error message.

The source buffer can be either be a scalar or a scalar reference.

$data = uncompressfile($file)

Uncompress the file $file. if successful, it returns the uncompressed data. Otherwise it returns undef and $@ contains the error message.

CAVEATS

This version only implements in-memory decompression (patches are welcomed).

There is no way to recognize a valid LZMA encoded file with the SDK. So, in some cases, you can crash your script if you try to uncompress a non valid LZMA encoded file.

REQUESTS & BUGS

Please report any requests, suggestions or bugs via the RT bug-tracking system at http://rt.cpan.org/ or email to bug-Compress-unLZMA\@rt.cpan.org.

http://rt.cpan.org/NoAuth/Bugs.html?Dist=Compress-unLZMA is the RT queue for Compress::unLZMA. Please check to see if your bug has already been reported.

MAINTAINER

Adriano Ferreira, ferreira@cpan.org

COPYRIGHT

Copyright 2004

Fabien Potencier, fabpot@cpan.org

This software may be freely copied and distributed under the same terms and conditions as Perl.

LZMA COPYRIGHT

LZMA SDK 4.01 Copyright (C) 1999-2004 Igor Pavlov 2004-02-15

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

LZMA SDK also can be available under a proprietary license for those who cannot use the GNU LGPL in their code. To request such proprietary license or any additional consultations, write to support@7-zip.org

SEE ALSO

perl(1), http://www.7-zip.org/.