logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

       Kenichi Ishigaki, <ishigaki@cpan.org>

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

Global Variable

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

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.

Name

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

See Also

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

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/');

See Also