---
name: "Dist::Metadata::Archive"
section: "3pm"
platform: "linux"
package: "libdist-metadata-perl"
version: "0.927-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Dist::Metadata::Archive"
---

# Dist::Metadata::Archive(3pm)

Base class for Dist::Metadata archive files

## NAME

Dist::Metadata::Archive - Base class for Dist::Metadata archive files

## VERSION

version 0.927

## SYNOPSIS

```
  my $dist = Dist::Metadata->new(file => $path_to_archive);
```

## DESCRIPTION

This is a subclass of Dist::Metadata::Dist to enable determining the metadata from an archive file.

It is a base class for archive file formats:

- •

  Dist::Metadata::Tar

- •

  Dist::Metadata::Zip

It's not useful on it's own and should be used from "new" in Dist::Metadata.

## METHODS

### new

```
  $dist = Dist::Metadata::Archive->new(file => $path);
```

Accepts a single `"file"` argument that should be a path to a file.

If called from this base class `"new()"` will delegate to a subclass based on the filename and return a blessed instance of that subclass.

### archive

Returns an object representing the archive file.

### default\_file\_spec

Returns `"Unix"` since most archive files are be in unix format.

### determine\_name\_and\_version

Attempts to parse name and version from file name.

### file

The `"file"` attribute passed to the constructor, used to load "archive".

### read\_archive

```
  $dist->read_archive($file);
```

Returns a format-specific object representing the specified file.

This **must** be defined by subclasses.

## AUTHOR

Randy Stauner \<rwstauner@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Randy Stauner.

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