NAME

   Archive::Merged - virtually merge two archives

SYNOPSIS

     my $merged = Archive::Merged->new(
         Archive::Tar->new( 'default_theme.tar' ),
         Archive::SevenZip->archiveTarApi( archivename => 'theme.zip' ),
         Archive::Dir->new( 'customized/' ),
     );

METHODS

Archive::Merged->new

     my $merged = Archive::Merged->new(
         Archive::Tar->new( 'default_theme.tar' ),
         Archive::Dir->new( 'customized/' ),
     );

   Creates a new archive as the merged view of one or more archives or
   directories.

->directory

->archives

     my @archives = $merged->archives;

   Accessor for the archives that represent this archive.

->contains_file

     if( $merged->contains_file( $file ) ) {
         print "Yay!"
     } else {
         print "File '$file' not found";
     };

   Returns the underlying archive that contains the file. Returns undef if
   the file is not found.

->get_content( $file, %options )

     my $content = $merged->get_content( $file, binmode => ':raw' )

   Returns the content of the file, potentially with the encoding.

->list_files( )

       my @contents = $merged->list_files;

   Lists the contained files of the archive. Files that are shadowed are
   only listed once.

->extract_file( )

       $merged->extract_file( $name => $target );

   Extracts the file to the target name.

REPOSITORY

   The public repository of this module is
   http://github.com/Corion/archive-merged.

SUPPORT

   The public support forum of this module is https://perlmonks.org/.

BUG TRACKER

   Please report bugs in this module via the RT CPAN bug queue at
   https://rt.cpan.org/Public/Dist/Display.html?Name=Archive-Merged or via
   mail to [email protected].

AUTHOR

   Max Maischein [email protected]

COPYRIGHT (c)

   Copyright 2015-2016 by Max Maischein [email protected].

LICENSE

   This module is released under the same terms as Perl itself.

SEE ALSO

   Archive::Tar

   Archive::SevenZip::API::ArchiveTar