NAME
Archive::Peek::Libarchive - Peek into archives without extracting them (using libarchive)
SYNOPSIS
use Archive::Peek::Libarchive;
my $peek = Archive::Peek::Libarchive->new( filename => 'archive.tgz' );
my @files = $peek->files();
my $contents = $peek->file('README.txt')
$peek->iterate(
sub {
my ( $filename, $contents ) = @_;
...
}
);
DESCRIPTION
This module lets you peek into archives without extracting them. This is a wrapper to the libarchive C library (http://code.google.com/p/libarchive/), which you must have installed (libarchive-dev package for Debian/Ubuntu). It supports many different archive formats and compression algorithms and is fast.
METHODS
new
The constructor takes the filename of the archive to peek into:
my $peek = Archive::Peek::Libarchive->new( filename => 'archive.tgz' );
files
Returns the files in the archive:
my @files = $peek->files();
file
Returns the contents of a file in the archive:
my $contents = $peek->file('README.txt')
iterate
Iterate over all the files in the archive:
$peek->iterate(
sub {
my ( $filename, $contents ) = @_;
...
}
);
ATTRIBUTES
filename
Contains the name of the archive file to use.
AUTHOR
Leon Brocard <acme@astray.com>
COPYRIGHT
Copyright (C) 2011, Leon Brocard.
LICENSE
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.