SYNOPSIS
use strict;
use warnings;
use Archive::Any::Lite;
local $Archive::Any::Lite::IGNORE_SYMLINK = 1; # for safety
my $tarball = 'foo.tar.gz';
my $archive = Archive::Any::Lite->new($tarball);
$archive->extract('into/some/directory/');
DESCRIPTION
This is a fork of Archive::Any by Michael Schwern and Clint Moore. The main difference is this works properly even when you fork(), and may require less memory to extract a tarball. On the other hand, this isn't pluggable (this only supports file formats used in the CPAN toolchains), and this doesn't check mime types (at least as of this writing).METHODS
new
my $archive = Archive::Any::Lite->new($archive_file); my $archive = Archive::Any::Lite->new($archive_file, {tar_filter => qr/foo/});
Creates an object. You can pass an optional hash reference for finer control.
extract
$archive->extract; $archive->extract($directory); $archive->extract($directory, {tar_filter => qr/foo/});
Extracts the files in the archive to the given $directory. If no $directory is given, it will go into the current working directory.
You can pass an optional hash reference for finer control. If passed, options passed in "new" will be ignored.
files
my @file = $archive->files;
A list of files in the archive.
is_impolite
my $is_impolite = $archive->is_impolite;
Checks to see if this archive is going to unpack into the current directory rather than create its own.
is_naughty
my $is_naughty = $archive->is_naughty;
Checks to see if this archive is going to unpack outside the current directory.
type
Deprecated. For backward compatibility only.GLOBAL VARIABLE
$IGNORE_SYMLINK
If set to true, symlinks (and hardlinks for tarball) will be ignored.AUTHOR
Archive::Any is written by Michael G Schwern and Clint Moore.Kenichi Ishigaki, <[email protected]>
COPYRIGHT AND LICENSE
Copyright (C) 2012 by Kenichi Ishigaki.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.