NAME

Archive::Any::Lite - simple CPAN package extractor

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

If set to true, symlinks (and hardlinks for tarball) will be ignored.

SEE ALSO

Archive::Any, Archive::Tar::Streamed

AUTHOR

Archive::Any is written by Michael G Schwern and Clint Moore.

Kenichi Ishigaki, <ishigaki@cpan.org>

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.