---
name: "Archive::Any"
section: "3pm"
platform: "linux"
package: "libarchive-any-perl"
version: "0.0946-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Archive::Any"
---

# Archive::Any(3pm)

Single interface to deal with file archives.

## NAME

Archive::Any - Single interface to deal with file archives.

## VERSION

version 0.0946

## SYNOPSIS

```
    use Archive::Any;
    my $archive = Archive::Any->new( 'archive_file.zip' );
    my @files = $archive->files;
    $archive->extract;
    my $type = $archive->type;
    $archive->is_impolite;
    $archive->is_naughty;
```

## DESCRIPTION

This module is a single interface for manipulating different archive formats. Tarballs, zip files, etc.

- **new**

  ```
      my $archive = Archive::Any->new( $archive_file );
      my $archive_with_type = Archive::Any->new( $archive_file, $type );
  ```

  `$type` is optional.  It lets you force the file type in case Archive::Any can't figure it out.

- **extract**

  ```
      $archive->extract;
      $archive->extract( $directory );
  ```

  Extracts the files in the archive to the given `$directory`.  If no `$directory` is given, it will go into the current working directory.

- **files**

  ```
      my @file = $archive->files;
  ```

  A list of files in the archive.

- **mime\_type**

  ```
      my $mime_type = $archive->mime_type();
  ```

  Returns the mime type of 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.

## DEPRECATED

- **type**

  ```
      my $type = $archive->type;
  ```

  Returns the type of archive.  This method is provided for backwards compatibility in the Tar and Zip plugins and will be going away **soon** in favor of `"mime_type"`.

## PLUGINS

For detailed information on writing plugins to work with Archive::Any, please see the pod documentation for Archive::Any::Plugin.

## SEE ALSO

Archive::Any::Plugin

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc Archive::Any
```

You can also look for information at:

- •

  MetaCPAN

  \<https://metacpan.org/module/Archive::Any\>

- •

  Issue tracker

  \<https://github.com/oalders/archive-any/issues\>

## AUTHORS

- •

  Clint Moore

- •

  Michael G Schwern (author emeritus)

- •

  Olaf Alders (current maintainer)

## COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Michael G Schwern, Clint Moore, Olaf Alders.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
