NAME

    Archive::Libarchive::Unwrap - Unwrap files with multiple compression /
    encoding formats

VERSION

    version 0.01

SYNOPSIS

     use Archive::Libarchive::Unwrap;
     
     my $uw = Archive::Libarchive::Unwrap->new( filename => 'hello.txt.uu' );
     print $uw->unwrap;

DESCRIPTION

    This module will unwrap one or more nested filter formats supported by
    Archive::Libarchive. The detection logic for Archive::Libarchive is
    such that you typically do not need to tell it which formats are a file
    is stored using. The filter formats include traditional compression
    formats like gzip, bzip2, but also includes other encodings like
    uuencode. The idea of this module is to just point it to a file and it
    will do its best to decode it until you get to the inner file.

CONSTRUCTOR

 new

     my $uw = Archive::Libarchive::Unwrap->new(%options);

    This creates a new instance of the Unwrap class. At least one of the
    filename and memory options are required.

    filename

       my $uw = Archive::Libarchive::Unwrap->new( filename => $filename );

      This will create an Unwrap instance that will read from the given
      $filename.

    memory

       my $uw = Archive::Libarchive::Unwrap->new( memory => $memory );
       my $uw = Archive::Libarchive::Unwrap->new( memory => \$memory );

      This will create an Unwrap instance that will read from memory. You
      may pass in either a scalar containing the raw wrapped data, or a
      scalar reference to the same.

METHODS

 unwrap

     my $content = $uw->unwrap;

    This will return the raw content of the unfiltered file. This will
    decompress and/or filter multiple filters, so if you had a text file
    that was gzipped and uuencoded hello.txt.gz.uu, this method will return
    the content of the inner text file hello.txt.

SEE ALSO

    Archive::Libarchive::Peek

      An interface for peeking into archives without extracting them to the
      local filesystem.

    Archive::Libarchive::Extract

      An interface for extracting files from an archive.

    Archive::Libarchive

      A lower-level interface to libarchive which can be used to
      read/extract and create archives of various formats.

AUTHOR

    Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2021 by Graham Ollis.

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