Archive::Any::Lite(3) 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

$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.