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

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 archive-merged-Bugs@rt.cpan.org.

AUTHOR

Max Maischein corion@cpan.org

COPYRIGHT (c)

Copyright 2015-2016 by Max Maischein corion@cpan.org.

LICENSE

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

SEE ALSO

Archive::Tar

Archive::SevenZip::API::ArchiveTar