gbarr / CPAN-DistnameInfo
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (8)
- Wiki (1)
- Graphs
-
Branch:
master
Graham Barr (author)
Thu Dec 03 16:30:28 -0800 2009
commit d36b8990f03592144a98032c77f057fad4265b73
tree 3750256004a34039717dfecf2b502ca5a9b3c9e2
parent 98c33db99962716dd503f0a9c10ebe02ee764864
tree 3750256004a34039717dfecf2b502ca5a9b3c9e2
parent 98c33db99962716dd503f0a9c10ebe02ee764864
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Tue May 05 19:56:42 -0700 2009 | |
| |
Changes | Thu Dec 03 16:31:01 -0800 2009 | |
| |
MANIFEST | Thu Dec 03 16:31:01 -0800 2009 | |
| |
MANIFEST.SKIP | Tue May 05 19:56:42 -0700 2009 | |
| |
Makefile.PL | Tue May 05 19:53:52 -0700 2009 | |
| |
README | Sun Nov 02 12:44:00 -0800 2003 | |
| |
lib/ | Thu Dec 03 16:31:01 -0800 2009 | |
| |
t/ | Thu Dec 03 16:08:40 -0800 2009 |
README
NAME
CPAN::DistnameInfo - Extract distribution name and version from a
distribution filename
SYNOPSIS
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 %prop = $d->properties;
DESCRIPTION
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"
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
Graham Barr <gbarr@pobox.com>
COPYRIGHT
Copyright (c) 2003 Graham Barr. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
