NAME

Archive::Unzip::Burst - Featureless but fast ZIP extraction

SYNOPSIS

use Archive::Unzip::Burst 'unzip';
unzip("zipfile.zip", "targetdirectory");

DESCRIPTION

This module is a thin XS wrapper around a copy of the well-known InfoZip library but it does not expose its full functionality. Instead, it only lets you extract a ZIP archive to some directory, about as fast as if you were using your system unzip command itself.

The module comes with its own copy of InfoZip's UnZip 5.52 included.

If you are looking for a full-featured interface to ZIP archives, you should look at Archive::Zip or the various IO::Compress::* or IO::Uncompress::* modules instead. Furthermore, this module is to be considered experimental. It has only been tested on x86 and x86-64 linux and is known to fail on, for example win32. Any help in this regard would be much appreciated.

If available, the module uses the prefork pragma to load its dependencies either on-demand run-time or at compile-time (if in a forking environment). It does not, however, require the prefork module to be installed for normal operation.

EXPORT

None by default. But you may choose to export the unzip function.

FUNCTIONS

unzip

Takes a file name and a target directory as arguments. Extracts the zip file to the target directory. Returns the integer status code from the underlying ZIP library. Presumably, zero means success as with system calls. The return value may change in future versions.

SEE ALSO

The InfoZip homepage at http://www.info-zip.org.

Archive::Zip

IO::Uncompress::Unzip

prefork

AUTHOR

Steffen Mueller, <smueller@cpan.org>

COPYRIGHT AND LICENSE

The Perl and XS code as well as the compilation are copyright (C) 2007 by Steffen Mueller. The following paragraph describes the license for these components:

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.6 or,
at your option, any later version of Perl 5 you may have available.

The UnZip library which is included in full and unmodified in a subdirectory of this distribution is Copyright (c) 1990-2005 Info-ZIP. All rights reserved. The full license text from the LICENSE file in that directory is reproduced below.

This is version 2005-Feb-10 of the Info-ZIP copyright and license.
The definitive version of this document should be available at
ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.


Copyright (c) 1990-2005 Info-ZIP.  All rights reserved.

For the purposes of this copyright and license, "Info-ZIP" is defined as
the following set of individuals:

   Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois,
   Jean-loup Gailly, Hunter Goatley, Ed Gordon, Ian Gorman, Chris Herborth,
   Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz,
   David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko,
   Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs,
   Kai Uwe Rommel, Steve Salisbury, Dave Smith, Steven M. Schweda,
   Christian Spieler, Cosmin Truta, Antoine Verheijen, Paul von Behren,
   Rich Wales, Mike White

This software is provided "as is," without warranty of any kind, express
or implied.  In no event shall Info-ZIP or its contributors be held liable
for any direct, indirect, incidental, special or consequential damages
arising out of the use of or inability to use this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

    1. Redistributions of source code must retain the above copyright notice,
       definition, disclaimer, and this list of conditions.

    2. Redistributions in binary form (compiled executables) must reproduce
       the above copyright notice, definition, disclaimer, and this list of
       conditions in documentation and/or other materials provided with the
       distribution.  The sole exception to this condition is redistribution
       of a standard UnZipSFX binary (including SFXWiz) as part of a
       self-extracting archive; that is permitted without inclusion of this
       license, as long as the normal SFX banner has not been removed from
       the binary or disabled.

    3. Altered versions--including, but not limited to, ports to new operating
       systems, existing ports with new graphical interfaces, and dynamic,
       shared, or static library versions--must be plainly marked as such
       and must not be misrepresented as being the original source.  Such
       altered versions also must not be misrepresented as being Info-ZIP
       releases--including, but not limited to, labeling of the altered
       releases--including, but not limited to, labeling of the altered
       versions with the names "Info-ZIP" (or any variation thereof, including,
       but not limited to, different capitalizations), "Pocket UnZip," "WiZ"
       or "MacZip" without the explicit permission of Info-ZIP.  Such altered
       versions are further prohibited from misrepresentative use of the
       Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s).

    4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip,"
       "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its
       own source and binary releases.

To my best knowledge, it should be legal to use and distribute this Perl module and its enclosed library freely, as well as commercially provided the above license information is not stripped. Thus, the license of the InfoZip library should not collide with the license of the compilation. But I am not a lawyer.