CPAN::DistnameInfo - Extract distribution name and version from a distribution filename


CPAN-DistnameInfo documentation  | view source Contained in the CPAN-DistnameInfo distribution.

Index


NAME

Top

CPAN::DistnameInfo - Extract distribution name and version from a distribution filename

SYNOPSIS

Top

  my $pathname = "authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.02.tar.gz";

  my $d = CPAN::DistnameInfo->new($pathname);

  my $dist      = $d->dist;      # "CPAN-DistnameInfo"
  my $version   = $d->version;   # "0.02"
  my $maturity  = $d->maturity;  # "released"
  my $filename  = $d->filename;  # "CPAN-DistnameInfo-0.02.tar.gz"
  my $cpanid    = $d->cpanid;    # "GBARR"
  my $distvname = $d->distvname; # "CPAN-DistnameInfo-0.02"
  my $extension = $d->extension; # "tar.gz"
  my $pathname  = $d->pathname;  # "authors/id/G/GB/GBARR/..."

  my %prop = $d->properties;

DESCRIPTION

Top

Many online services that are centered around CPAN attempt to associate multiple uploads by extracting a distribution name from the filename of the upload. For most distributions this is easy as they have used ExtUtils::MakeMaker or Module::Build to create the distribution, which results in a uniform name. But sadly not all uploads are created in this way.

CPAN::DistnameInfo uses heuristics that have been learnt by http://search.cpan.org/ to extract the distribution name and version from filenames and also report if the version is to be treated as a developer release

The constructor takes a single pathname, returning an object with the following methods

cpanid

If the path given looked like a CPAN authors directory path, then this will be the the CPAN id of the author.

dist

The name of the distribution

distvname

The file name with any suffix and leading directory names removed

filename

If the path given looked like a CPAN authors directory path, then this will be the path to the file relative to the detected CPAN author directory. Otherwise it is the path that was passed in.

maturity

The maturity of the distribution. This will be either released or developer

extension

The extension of the distribution, often used to denote the archive type (e.g. 'tar.gz')

pathname

The pathname that was passed to the constructor when creating the object.

properties

This will return a list of key-value pairs, suitable for assigning to a hash, for the known properties.

version

The extracted version

AUTHOR

Top

Graham Barr <gbarr@pobox.com>

COPYRIGHT

Top


CPAN-DistnameInfo documentation  | view source Contained in the CPAN-DistnameInfo distribution.