summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2011-03-11 23:38:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2011-03-11 23:38:23 +0000
commit56f58177bddb4002f0dc57811fe0f72a8fc9e479 (patch)
tree0aa914b3ce04ba597af37d64c31caf0159f0ae1b
downloadCPAN-DistnameInfo-tarball-master.tar.gz
CPAN-DistnameInfo-0.12HEADCPAN-DistnameInfo-0.12master
-rw-r--r--Changes49
-rw-r--r--MANIFEST9
-rw-r--r--META.yml22
-rw-r--r--Makefile.PL28
-rw-r--r--README68
-rw-r--r--SIGNATURE31
-rw-r--r--lib/CPAN/DistnameInfo.pm205
-rw-r--r--t/ext.t577
-rw-r--r--t/path.t291
9 files changed, 1280 insertions, 0 deletions
diff --git a/Changes b/Changes
new file mode 100644
index 0000000..0c8781c
--- /dev/null
+++ b/Changes
@@ -0,0 +1,49 @@
+0.12 -- Fri Mar 11 17:36:55 CST 2011
+
+ * Grok dist names ending with something numeric containing underscores [Florian Ragwitz]
+
+0.11 -- Tue Dec 14 08:52:15 CST 2010
+
+ * Remove potential -withoutworldwriteables suffix [Vincent Pit]
+
+0.10 -- Sat Mar 27 15:04:54 CDT 2010
+
+ * Support -TRAIL in distribution version to indicate developer release
+
+0.09 -- Thu Dec 3 18:29:49 CST 2009
+
+ * Normalize dist() for CGI.pm [Michael G. Schwern]
+
+0.08 -- Wed May 6 09:21:47 CDT 2009
+
+ * make a better guess at the meaning of Dist-Name-undef.tar.gz
+ * add tests for the .tar.bz2 feature added in 0.07
+
+0.07 -- Mon Jun 30 09:27:04 CDT 2008
+
+ * Added support for .tar.bz2 archive extension
+
+0.06 -- Mon Sep 20 14:28:32 BST 2004
+
+ * Added support for CPAN id containing a numerical digit (IBMTORDB2)
+
+0.05 -- Wed Jul 14 20:26:26 BST 2004
+
+ * Added pathname attribute and method to return path passed to constructor
+
+2003-12-02 Graham Barr <gbarr@pobox.com>
+
+ * Release 0.04
+ * Added the archive extension, Thanks Thomas Klausner
+
+2003-10-23 Graham Barr <gbarr@pobox.com>
+
+ * Release 0.03
+ * Fixed a bug extracting 2 character cpan ids from the path
+
+2003-10-15 Graham Barr <gbarr@pobox.com>
+
+ * Release 0.02
+ * Fix so the V3_1_1 of Unicode-Collate-Standard-V3_1_1-0.1.tar.gz is not treated
+ as part of the version
+ * Changed API to be OO based
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..ea62b2f
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,9 @@
+Changes
+lib/CPAN/DistnameInfo.pm
+Makefile.PL
+MANIFEST This list of files
+README
+t/ext.t
+t/path.t
+META.yml Module meta-data (added by MakeMaker)
+SIGNATURE Public-key signature (added by MakeMaker)
diff --git a/META.yml b/META.yml
new file mode 100644
index 0000000..0dc53bf
--- /dev/null
+++ b/META.yml
@@ -0,0 +1,22 @@
+--- #YAML:1.0
+name: CPAN-DistnameInfo
+version: 0.12
+abstract: Extract distribution name and version from a distribution filename
+author:
+ - Graham Barr <gbarr@cpan.org>
+license: perl
+distribution_type: module
+configure_requires:
+ ExtUtils::MakeMaker: 0
+requires:
+ Test::More: 0
+resources:
+ repository: http://github.com/gbarr/CPAN-DistnameInfo
+no_index:
+ directory:
+ - t
+ - inc
+generated_by: ExtUtils::MakeMaker version 6.48
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644
index 0000000..90b3ba3
--- /dev/null
+++ b/Makefile.PL
@@ -0,0 +1,28 @@
+# -*- perl -*-
+
+BEGIN { require 5.004; }
+
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+ ABSTRACT => 'Extract distribution name and version from a distribution filename',
+ AUTHOR => q[Graham Barr <gbarr@cpan.org>],
+ NAME => q[CPAN::DistnameInfo],
+ PREREQ_PM => {
+ 'Test::More' => 0,
+ },
+ VERSION_FROM => 'lib/CPAN/DistnameInfo.pm',
+ (eval { ExtUtils::MakeMaker->VERSION(6.21) } ? (LICENSE => 'perl') : ()),
+ ( eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (
+ META_MERGE => {
+ resources => { ##
+ repository => 'http://github.com/gbarr/CPAN-DistnameInfo',
+ },
+ }
+ )
+ : ()
+ ),
+);
+
diff --git a/README b/README
new file mode 100644
index 0000000..fb5df4f
--- /dev/null
+++ b/README
@@ -0,0 +1,68 @@
+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.
+
diff --git a/SIGNATURE b/SIGNATURE
new file mode 100644
index 0000000..3b81112
--- /dev/null
+++ b/SIGNATURE
@@ -0,0 +1,31 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.64.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+ % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity. If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 d75638f01f6bfab2fbdfd701842e3bf49be256f4 Changes
+SHA1 49d042e197b5c18b654acd4bd9c1d22d7014d174 MANIFEST
+SHA1 33e232f9b9f97f8877f5de337c562f2c976c5c30 META.yml
+SHA1 da8ac89bf8cf1d7b58fdc28503b380d94cebf6a3 Makefile.PL
+SHA1 75225b292ce4d6d6bb0212fa8f249aaa8ee41ae8 README
+SHA1 3a53c8c9043d82cfee930482d05eb18a08af4192 lib/CPAN/DistnameInfo.pm
+SHA1 199d53d9e7a540c4702f161d933764dddedbc42c t/ext.t
+SHA1 00af0a1012e1af4536120eab70958e51218c3b72 t/path.t
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.11 (Darwin)
+
+iEUEARECAAYFAk16smwACgkQR0BL4gbYw3QoYgCdH1lrCdfLnoF4qqbYEAKoG1v9
+zHQAmJTWKilUZqrWBMeVi165Zzp+rYc=
+=krP1
+-----END PGP SIGNATURE-----
diff --git a/lib/CPAN/DistnameInfo.pm b/lib/CPAN/DistnameInfo.pm
new file mode 100644
index 0000000..5e05ca9
--- /dev/null
+++ b/lib/CPAN/DistnameInfo.pm
@@ -0,0 +1,205 @@
+
+package CPAN::DistnameInfo;
+
+$VERSION = "0.12";
+use strict;
+
+sub distname_info {
+ my $file = shift or return;
+
+ my ($dist, $version) = $file =~ /^
+ ((?:[-+.]*(?:[A-Za-z0-9]+|(?<=\D)_|_(?=\D))*
+ (?:
+ [A-Za-z](?=[^A-Za-z]|$)
+ |
+ \d(?=-)
+ )(?<![._-][vV])
+ )+)(.*)
+ $/xs or return ($file,undef,undef);
+
+ if ($dist =~ /-undef\z/ and ! length $version) {
+ $dist =~ s/-undef\z//;
+ }
+
+ # Remove potential -withoutworldwriteables suffix
+ $version =~ s/-withoutworldwriteables$//;
+
+ if ($version =~ /^(-[Vv].*)-(\d.*)/) {
+
+ # Catch names like Unicode-Collate-Standard-V3_1_1-0.1
+ # where the V3_1_1 is part of the distname
+ $dist .= $1;
+ $version = $2;
+ }
+
+ if ($version =~ /(.+_.*)-(\d.*)/) {
+ # Catch names like Task-Deprecations5_14-1.00.tar.gz where the 5_14 is
+ # part of the distname. However, names like libao-perl_0.03-1.tar.gz
+ # should still have 0.03-1 as their version.
+ $dist .= $1;
+ $version = $2;
+ }
+
+ # Normalize the Dist.pm-1.23 convention which CGI.pm and
+ # a few others use.
+ $dist =~ s{\.pm$}{};
+
+ $version = $1
+ if !length $version and $dist =~ s/-(\d+\w)$//;
+
+ $version = $1 . $version
+ if $version =~ /^\d+$/ and $dist =~ s/-(\w+)$//;
+
+ if ($version =~ /\d\.\d/) {
+ $version =~ s/^[-_.]+//;
+ }
+ else {
+ $version =~ s/^[-_]+//;
+ }
+
+ my $dev;
+ if (length $version) {
+ if ($file =~ /^perl-?\d+\.(\d+)(?:\D(\d+))?(-(?:TRIAL|RC)\d+)?$/) {
+ $dev = 1 if (($1 > 6 and $1 & 1) or ($2 and $2 >= 50)) or $3;
+ }
+ elsif ($version =~ /\d\D\d+_\d/ or $version =~ /-TRIAL/) {
+ $dev = 1;
+ }
+ }
+ else {
+ $version = undef;
+ }
+
+ ($dist, $version, $dev);
+}
+
+sub new {
+ my $class = shift;
+ my $distfile = shift;
+
+ $distfile =~ s,//+,/,g;
+
+ my %info = ( pathname => $distfile );
+
+ ($info{filename} = $distfile) =~ s,^(((.*?/)?authors/)?id/)?([A-Z])/(\4[A-Z])/(\5[-A-Z0-9]*)/,,
+ and $info{cpanid} = $6;
+
+ if ($distfile =~ m,([^/]+)\.(tar\.(?:g?z|bz2)|zip|tgz)$,i) { # support more ?
+ $info{distvname} = $1;
+ $info{extension} = $2;
+ }
+
+ @info{qw(dist version beta)} = distname_info($info{distvname});
+ $info{maturity} = delete $info{beta} ? 'developer' : 'released';
+
+ return bless \%info, $class;
+}
+
+sub dist { shift->{dist} }
+sub version { shift->{version} }
+sub maturity { shift->{maturity} }
+sub filename { shift->{filename} }
+sub cpanid { shift->{cpanid} }
+sub distvname { shift->{distvname} }
+sub extension { shift->{extension} }
+sub pathname { shift->{pathname} }
+
+sub properties { %{ $_[0] } }
+
+1;
+
+__END__
+
+=head1 NAME
+
+CPAN::DistnameInfo - Extract distribution name and version from a distribution filename
+
+=head1 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 $extension = $d->extension; # "tar.gz"
+ my $pathname = $d->pathname; # "authors/id/G/GB/GBARR/..."
+
+ my %prop = $d->properties;
+
+=head1 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.
+
+C<CPAN::DistnameInfo> uses heuristics that have been learnt by
+L<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
+
+=over
+
+=item cpanid
+
+If the path given looked like a CPAN authors directory path, then this will be the
+the CPAN id of the author.
+
+=item dist
+
+The name of the distribution
+
+=item distvname
+
+The file name with any suffix and leading directory names removed
+
+=item 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.
+
+=item maturity
+
+The maturity of the distribution. This will be either C<released> or C<developer>
+
+=item extension
+
+The extension of the distribution, often used to denote the archive type (e.g. 'tar.gz')
+
+=item pathname
+
+The pathname that was passed to the constructor when creating the object.
+
+=item properties
+
+This will return a list of key-value pairs, suitable for assigning to a hash,
+for the known properties.
+
+=item version
+
+The extracted version
+
+=back
+
+=head1 AUTHOR
+
+Graham Barr <gbarr@pobox.com>
+
+=head1 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.
+
+=cut
+
diff --git a/t/ext.t b/t/ext.t
new file mode 100644
index 0000000..6495d6c
--- /dev/null
+++ b/t/ext.t
@@ -0,0 +1,577 @@
+
+use Test::More tests => 560;
+use Data::Dumper;
+
+use CPAN::DistnameInfo;
+
+while(<DATA>) {
+ chomp;
+ my($file,@ret) = (split(/\t/, $_))[0..3];
+ $ret[2] = $ret[2] ? 'developer' : 'released';
+ my $d = CPAN::DistnameInfo->new($file);
+ my @tst = ($d->dist, $d->version, $d->maturity);
+ ok( eq_array(\@tst, \@ret), "output for $file" )
+ or diag(Data::Dumper->Dump([\@ret,\@tst],[qw(expected got)]));
+}
+
+__DATA__
+ncheck.tar.gz ncheck
+Thread_52.tar.gz Thread 52
+Thread-oct02.tar.gz Thread oct02
+TransitiveClosure-1.4.tgz TransitiveClosure 1.4
+RFC_RFC822_Address-1.5.tgz RFC_RFC822_Address 1.5
+Logger.0.34.tar.gz Logger 0.34
+libplot-perl-2.1.6.2b.tar.gz libplot-perl 2.1.6.2b
+finance-quote_0.18.tar.gz finance-quote 0.18
+finance-quote_1.02.tar.gz finance-quote 1.02
+finance-quote_0.17.tar.gz finance-quote 0.17
+Win32-GuiTest-0.6.zip Win32-GuiTest 0.6
+Win32-GuiTest-0.4.zip Win32-GuiTest 0.4
+Win32-GuiTest-1.3.zip Win32-GuiTest 1.3
+libwin32-0.16.zip libwin32 0.16
+VMS-Monitor-0_06.zip VMS-Monitor 0_06
+NISPlus-0.06-alpha.tar.gz NISPlus 0.06-alpha
+NISPlus-0.04-alpha.tar.gz NISPlus 0.04-alpha
+DelimMatch-1.06a.tar.gz DelimMatch 1.06a
+Convert-Scalar-0.1e.tar.gz Convert-Scalar 0.1e
+Win32-Printer-0.6.4.zip Win32-Printer 0.6.4
+variable-1.1.tgz variable 1.1
+glist-0.9.17a10.tar.gz glist 0.9.17a10
+JBrowseEntry.4.22.tar.gz JBrowseEntry 4.22
+cshar-3.0@15.tar.gz cshar 3.0@15
+Acme-POE-Knee-1.00.zip Acme-POE-Knee 1.00
+Acme-POE-Knee-1.02.zip Acme-POE-Knee 1.02
+Acme-POE-Knee-1.10.zip Acme-POE-Knee 1.10
+ControlX10-CM17.0.060.tar.gz ControlX10-CM 17.0.060
+VMS-User-0_01.zip VMS-User 0_01
+Win32-SystemInfo-0.05.zip Win32-SystemInfo 0.05
+Win32-SystemInfo-0.06.zip Win32-SystemInfo 0.06
+Win32-SystemInfo-0.02.zip Win32-SystemInfo 0.02
+curses_widgets_1_1.tar.gz curses_widgets 1_1
+Tk-CheckbuttonGroup-0.2.1.tgz Tk-CheckbuttonGroup 0.2.1
+NewsClipper-1.30-OpenSource.tar.gz NewsClipper 1.30-OpenSource
+NewsClipper-1.32-OpenSource.tar.gz NewsClipper 1.32-OpenSource
+NewsClipper-1.17-os.tar.gz NewsClipper 1.17-os
+DateTime-Format-DBI-0.03a.tar.gz DateTime-Format-DBI 0.03a
+Win32-MIDI-0_2.zip Win32-MIDI 0_2
+Ananke-Utils-1.0.2.tgz Ananke-Utils 1.0.2
+AI-ExpertSystem-Simple.1.2.tgz AI-ExpertSystem-Simple 1.2
+AI-ExpertSystem-Simple.1.1.tgz AI-ExpertSystem-Simple 1.1
+AI-ExpertSystem-Simple.1.0.tgz AI-ExpertSystem-Simple 1.0
+MEMStats.tgz MEMStats
+VMS_System-1_04.zip VMS_System 1_04
+Tie-Hash-Longest-1.0.reupload-again-because-im-stupid.tar.gz Tie-Hash-Longest 1.0.reupload-again-because-im-stupid
+DBI_Talk5_2001.tar.gz DBI_Talk 5_2001
+DBI_Talk1_1997.tar.gz DBI_Talk 1_1997
+DBI_Talk4_2000.tar.gz DBI_Talk 4_2000
+POE-Component-IRC-1.0b.tar.gz POE-Component-IRC 1.0b
+Orac-1.2.0.tgz Orac 1.2.0
+ThousandWords_0.05.tar.gz ThousandWords 0.05
+Module-MakeDist-1.04.tgz Module-MakeDist 1.04
+Module-MakeDist-1.05.tgz Module-MakeDist 1.05
+AxKit-XSP-Swish-0.2a.tar.gz AxKit-XSP-Swish 0.2a
+jp_beta_1.tar.gz jp_beta 1
+DBIx-CodeKit-1.07.tgz DBIx-CodeKit 1.07
+PDF-API2-0.3r74.tar.gz PDF-API2 0.3r74
+DBIx-HTML-LinkedMenus-1.05.tgz DBIx-HTML-LinkedMenus 1.05
+FileKGlob.tar.gz FileKGlob
+DBD-NET-0.1.tgz DBD-NET 0.1
+smime-0.7.tgz smime 0.7
+NIS-a2.tar.gz NIS a2
+HPUX-LVM_0.05.tar.gz HPUX-LVM 0.05
+HPUX-LVM_0.06.tar.gz HPUX-LVM 0.06
+Parse-FixedDelimiter-1.00.tgz Parse-FixedDelimiter 1.00
+Date-Ordinal-2.9.tgz Date-Ordinal 2.9
+Proc-ParallelLoop-0.5.tgz Proc-ParallelLoop 0.5
+SYMM_0.2.tgz SYMM 0.2
+SYMM_0.3.tgz SYMM 0.3
+CGI-AppToolkit-0.05.tgz CGI-AppToolkit 0.05
+GDGraph-Map-1.03.tgz GDGraph-Map 1.03
+GDGraph-Map-1.05.tgz GDGraph-Map 1.05
+Compress-SelfExtracting-0.03.tgz Compress-SelfExtracting 0.03
+Compress-SelfExtracting-0.04.tgz Compress-SelfExtracting 0.04
+Compress-SelfExtracting-0.01.tgz Compress-SelfExtracting 0.01
+Tivoli_0.01.tar.gz Tivoli 0.01
+Bioinf_V2.0.tar.gz Bioinf V2.0
+font_ft2_0.1.0.tgz font_ft 2_0.1.0
+Tie-Scalar-RestrictUpdates-0.0.1b.tar.gz Tie-Scalar-RestrictUpdates 0.0.1b
+Language-FP-0.03.tgz Language-FP 0.03
+Language-FP-0.02.tgz Language-FP 0.02
+Language-FP-0.01.tgz Language-FP 0.01
+Attribute-Curried-0.01.tgz Attribute-Curried 0.01
+perl-c++-api.0.0_3.tar.gz perl-c++-api 0.0_3 1
+Perl6-Interpolators-0.03.zip Perl6-Interpolators 0.03
+Chess-PGN-Parse-0.10.tgz Chess-PGN-Parse 0.10
+perlmenu.v4.0.tar.gz perlmenu v4.0
+Class-Tree-1.21.tgz Class-Tree 1.21
+Class-Tree-1.23.tgz Class-Tree 1.23
+MIME-tools-5.411a.tar.gz MIME-tools 5.411a
+dbd_rdb-1_16.tgz dbd_rdb 1_16
+Apache-CVS-0.01.tgz Apache-CVS 0.01
+File-Remove0.20.tar.gz File-Remove 0.20
+Convert-Ethiopic-0.20-210102.tar.gz Convert-Ethiopic 0.20-210102
+GPIB_0_30.tgz GPIB 0_30
+tkmult_1.0.0.tgz tkmult 1.0.0
+tkmult_1.0.1.tgz tkmult 1.0.1
+WWW-Search-NorthernLight.-2.06.tar.gz WWW-Search-NorthernLight 2.06
+DBIx-HTML-ClientDB-1.03.tgz DBIx-HTML-ClientDB 1.03
+PDL-McIDAS-0.02.tgz PDL-McIDAS 0.02
+HTML-Widgets-Search-0.04.tgz HTML-Widgets-Search 0.04
+HTML-Widgets-Search-0.02.tgz HTML-Widgets-Search 0.02
+Algorithm-Loops-1.031.zip Algorithm-Loops 1.031
+Date_Maya-1.1.tgz Date_Maya 1.1
+Tie_Pick-1.1.tgz Tie_Pick 1.1
+IPTables-IPv4-0.97b.tar.gz IPTables-IPv4 0.97b
+Pod-PerlPoint-0.03.tgz Pod-PerlPoint 0.03
+Pod-PerlPoint-0.02.tgz Pod-PerlPoint 0.02
+Lingua-EN-Infinitive-1.06.tgz Lingua-EN-Infinitive 1.06
+Lingua-EN-Infinitive-1.07.tgz Lingua-EN-Infinitive 1.07
+Ananke-Template-1.1.tgz Ananke-Template 1.1
+Ananke-Template-1.4.tgz Ananke-Template 1.4
+X500-DN-Parser-1.14.tgz X500-DN-Parser 1.14
+X500-DN-Parser-1.15.tgz X500-DN-Parser 1.15
+DBIx-Table2Hash-1.12.tgz DBIx-Table2Hash 1.12
+Tk-OS2src-1.03.zip Tk-OS2src 1.03
+Tk-OS2src-1.02.zip Tk-OS2src 1.02
+Tk-OS2src-1.04.zip Tk-OS2src 1.04
+English-Reference-0.03.tgz English-Reference 0.03
+Apache-SecSess-0.09.tgz Apache-SecSess 0.09
+Data-FixedFormat-0.01.zip Data-FixedFormat 0.01
+XML-Xerces-1.7.0-1.tar.gz XML-Xerces 1.7.0-1
+XML-Xerces-2.3.0-1.tar.gz XML-Xerces 2.3.0-1
+IO_CSVHeaderFile_0.02.tgz IO_CSVHeaderFile 0.02
+Chess-PGN-Filter-0.06.zip Chess-PGN-Filter 0.06
+Chess-PGN-Filter-0.09.zip Chess-PGN-Filter 0.09
+Chess-PGN-Filter-0.05.zip Chess-PGN-Filter 0.05
+VMS-Queue-0_54.zip VMS-Queue 0_54
+Tree.tar.gz Tree
+Chess-PGN-Moves-0.02.zip Chess-PGN-Moves 0.02
+Chess-PGN-Moves-0.01.zip Chess-PGN-Moves 0.01
+Chess-PGN-Moves-0.03.zip Chess-PGN-Moves 0.03
+HTML-Widgets-Menu-0.2.tgz HTML-Widgets-Menu 0.2
+HTML-Widgets-Menu-0.03.tgz HTML-Widgets-Menu 0.03
+TXTCOD-4.7.1-eng.tar.gz TXTCOD 4.7.1-eng
+Smil_0_70.tgz Smil 0_70
+qtpl_perl-0.5.tgz qtpl_perl 0.5
+DateTime-Format-Baby-0.14.tgz DateTime-Format-Baby 0.14
+DateTime-Format-Baby-0.15.2.tgz DateTime-Format-Baby 0.15.2
+XML-DB.tar.gz XML-DB
+OS2-FTP-0_10.zip OS2-FTP 0_10
+RcReader-0.5.9b.tar.gz RcReader 0.5.9b
+Text-Format0.52+NWrap0.11.tar.gz Text-Format 0.52+NWrap0.11
+webcam-man.1.0.tgz webcam-man 1.0
+Petal-0.4.tgz Petal 0.4
+Mail-Box-MH-Resource-0.05.tgz Mail-Box-MH-Resource 0.05
+Win32-EventLog-Message.tar.gz Win32-EventLog-Message
+Math-BaseCnv-1.0.37SLNGN.tgz Math-BaseCnv 1.0.37SLNGN
+Win32-Exchange_v0.036.tar.gz Win32-Exchange v0.036
+Win32-Exchange_v0.038.tar.gz Win32-Exchange v0.038
+Win32-Exchange_v0.032.tar.gz Win32-Exchange v0.032
+Zoidberg-0.3a.tar.gz Zoidberg 0.3a
+import-1_01.tgz import 1_01
+smake-1.2b1.tar.gz smake 1.2b1
+Win32-GUI-0.0.490.zip Win32-GUI 0.0.490
+sol-inst-0.90a.tar.gz sol-inst 0.90a
+VMS-FileUtils_0.014.tar.gz VMS-FileUtils 0.014
+Fraction-v.53b.tar.gz Fraction v.53b
+Fraction-v.51b.tar.gz Fraction v.51b
+Fraction-v.4a.tar.gz Fraction v.4a
+WWW-Search-EuroSeek-1.2+.tar.gz WWW-Search-EuroSeek 1.2+
+Apache-PSP-0.4.tgz Apache-PSP 0.4
+Term-Gnuplot-0.90_38b_00.tar.gz Term-Gnuplot 0.90_38b_00 1
+perlbook-5.005_02-a.tar.gz perlbook 5.005_02-a 1
+Perl6-Parameters-0.02.zip Perl6-Parameters 0.02
+Apache-ePerl-0.10b.tar.gz Apache-ePerl 0.10b
+OpenCA-CRL-0.7.5a.tar.gz OpenCA-CRL 0.7.5a
+OpenCA-CRL-0.6.5a.tar.gz OpenCA-CRL 0.6.5a
+CGI-Explorer-2.00.tgz CGI-Explorer 2.00
+Data-JavaScript-1.08.tgz Data-JavaScript 1.08
+One_Penguin-pre2.tar.gz One_Penguin pre2
+Tiger-hash-1.0b.tar.gz Tiger-hash 1.0b
+AI-NeuralNet-BackProp-0.40.zip AI-NeuralNet-BackProp 0.40
+AI-NeuralNet-BackProp-0.42.zip AI-NeuralNet-BackProp 0.42
+Data-JavaScript-LiteObject-1.03.tgz Data-JavaScript-LiteObject 1.03
+Data-JavaScript-LiteObject-1.04.tgz Data-JavaScript-LiteObject 1.04
+examples.tar.gz examples
+SearchSDK-0.99b.tar.gz SearchSDK 0.99b
+Win32-API-Prototype.tar.gz Win32-API-Prototype
+Geography_States-1.6.tgz Geography_States 1.6
+Audio-Daemon-0.99Beta.tar.gz Audio-Daemon 0.99Beta
+Tcl-b1.tar.gz Tcl b1
+Tcl-b2.tar.gz Tcl b2
+Tcl-b3.tar.gz Tcl b3
+Mmap-a2.tar.gz Mmap a2
+WWW-Search-PubMed.-1.0.tar.gz WWW-Search-PubMed 1.0
+Fame-2.0d.tar.gz Fame 2.0d
+Fame-2.0c.tar.gz Fame 2.0c
+Net-CDDBScan-2.0b.tar.gz Net-CDDBScan 2.0b
+Lingua_EN_Numbers_Easy-1.2.tgz Lingua_EN_Numbers_Easy 1.2
+apache.authznetldap.02.tar.gz apache.authznetldap .02
+iodbc_ext_0_1.tar.gz iodbc_ext 0_1
+Cisco-CopyConfig-1.2.tgz Cisco-CopyConfig 1.2
+End-1.2.tgz End 1.2
+ExtUtils-FakeConfig-0.05.zip ExtUtils-FakeConfig 0.05
+Data-Locations-5.2-fixed.tar.gz Data-Locations 5.2-fixed
+Chart-0.99b.tar.gz Chart 0.99b
+Safe-b2.tar.gz Safe b2
+rms.zip rms
+Solaris-0.05a.tar.gz Solaris 0.05a
+curses_forms_0_1.tar.gz curses_forms 0_1
+curses_forms_0_2a.tar.gz curses_forms 0_2a
+Win32-API-0.20.zip Win32-API 0.20
+Devel-TraceLoad-0.07.zip Devel-TraceLoad 0.07
+Tk800.025.tar.gz Tk 800.025
+Tk804.025_beta1.tar.gz Tk 804.025_beta1
+Tk804.024.patches-0.1.tar.gz Tk 804.024.patches-0.1
+HTML-QuickCheck-1.0b1.tar.gz HTML-QuickCheck 1.0b1
+Lingua-LinkParser1.02.tar.gz Lingua-LinkParser 1.02
+Lingua-LinkParser1.08.tar.gz Lingua-LinkParser 1.08
+HTML-BarChart-0.1.0.tgz HTML-BarChart 0.1.0
+swig1.1p4.tar.gz swig 1.1p4
+DBIx-XML-DataLoader-1.1b.tar.gz DBIx-XML-DataLoader 1.1b
+Devel-TraceSubs-0.02.zip Devel-TraceSubs 0.02
+Devel-TraceSubs-0.01.zip Devel-TraceSubs 0.01
+Glib-1.00rc1.tar.gz Glib 1.00rc1
+Sample-1.3.tgz Sample 1.3
+finance-yahooquote_0.20.tar.gz finance-yahooquote 0.20
+Win32-perl-shellext_0.02.zip Win32-perl-shellext 0.02
+htmltoc1.2.1.tar.gz htmltoc 1.2.1
+XML-Parser.2.30.tar.gz XML-Parser 2.30
+Net-Divert-0.01.tgz Net-Divert 0.01
+VRML-1.04de.tar.gz VRML 1.04de
+sdf-2.001beta1.tar.gz sdf 2.001beta1
+Printer-0.97d.tar.gz Printer 0.97d
+BerkeleyDB_Locks_0_02.tar.gz BerkeleyDB_Locks 0_02
+Tie_FlipFlop-1.1.tgz Tie_FlipFlop 1.1
+Ar-0.2alpha.tar.gz Ar 0.2alpha
+CGI-Lite-2.001-emergencyrelease.tar.gz CGI-Lite 2.001-emergencyrelease
+MSDOS-Descript-1.000.zip MSDOS-Descript 1.000
+MSDOS-Descript-1.001.zip MSDOS-Descript 1.001
+Win32-Scheduler_v20000702.tar.gz Win32-Scheduler v20000702
+KeyState.zip KeyState
+Finance-YahooProfile-0.11b.tar.gz Finance-YahooProfile 0.11b
+cons_1.1.tar.gz cons 1.1
+cons-1.5.tgz cons 1.5
+cons-2.1.2.tgz cons 2.1.2
+Audio-SID-3.00.tgz Audio-SID 3.00
+DBIx-MSSQLReporter-1.02.tgz DBIx-MSSQLReporter 1.02
+beancounter_0.6.2.tar.gz beancounter 0.6.2
+Zope-Watchdog-Daemon-2.0.tgz Zope-Watchdog-Daemon 2.0
+OpenCA-PKCS7-0.4.21a.tar.gz OpenCA-PKCS7 0.4.21a
+perlSGML.1997Sep18.tar.gz perlSGML.1997Sep 18
+PGP-0.3a.tar.gz PGP 0.3a
+StatisticsRegression.tar.gz StatisticsRegression
+Text-Template-0.1b.tar.gz Text-Template 0.1b
+Text-Template-0.1a.tar.gz Text-Template 0.1a
+PDF-107.tgz PDF 107
+PDF-111.tgz PDF 111
+Brasil-Checar-CGC-1.01a.tar.gz Brasil-Checar-CGC 1.01a
+DBI_AdvancedTalk_200307.tar.gz DBI_AdvancedTalk 200307
+AXF-0.8.1.tgz AXF 0.8.1
+VMS-FlatFile-0.01.zip VMS-FlatFile 0.01
+Algorithm-Diff-1.11a.tar.gz Algorithm-Diff 1.11a
+dist-3.0@70.tar.gz dist 3.0@70
+log.tar.gz log
+Win32-Encode-0.5beta.zip Win32-Encode 0.5beta
+Spread-3.12-1.01.tar.gz Spread 3.12-1.01
+Spread-3.14-1.02.tar.gz Spread 3.14-1.02
+Spread-3.17.1-1.05.tar.gz Spread 3.17.1-1.05
+parrot_0.0.6.tgz parrot 0.0.6
+PerlPoint-Package-0.29.tgz PerlPoint-Package 0.29
+PerlPoint-Package-0.32.tgz PerlPoint-Package 0.32
+PerlPoint-Package-0.38.tgz PerlPoint-Package 0.38
+libao-perl_0.03-1.tar.gz libao-perl 0.03-1
+Crypt-ECB-1.1-2.tar.gz Crypt-ECB 1.1-2
+Edi2SGML-0.1.tgz Edi2SGML 0.1
+Crypt-SecurID-0.04.tgz Crypt-SecurID 0.04
+EZDBI-0.13.tgz EZDBI 0.13
+EZDBI-0.120.tgz EZDBI 0.120
+DBD-QBase-0.03.tgz DBD-QBase 0.03
+PGForth1.0.tar.gz PGForth 1.0
+vms-device-0_08.zip vms-device 0_08
+sub-curry-0.02.zip sub-curry 0.02
+sub-curry-0.04.zip sub-curry 0.04
+sub-curry-0.06.zip sub-curry 0.06
+Geanfammer_V3.4.tar.gz Geanfammer V3.4
+XML-Grove-0.46alpha.tar.gz XML-Grove 0.46alpha
+Net-ProxyMod-0.03.tgz Net-ProxyMod 0.03
+Net-ProxyMod-0.01.tgz Net-ProxyMod 0.01
+VMS-Process-1_05.zip VMS-Process 1_05
+File-NCopy0.32.tar.gz File-NCopy 0.32
+TFTP-1.0b3.tar.gz TFTP 1.0b3
+Lingua-FA-Number.tar.gz Lingua-FA-Number
+Cmenu-1.1.tgz Cmenu 1.1
+Net-Domain-ExpireDate-0.16.tgz Net-Domain-ExpireDate 0.16
+Net-Domain-ExpireDate-0.15.tgz Net-Domain-ExpireDate 0.15
+XML-Edifact-0.32.tgz XML-Edifact 0.32
+Cyrus-Check_Quota.tgz Cyrus-Check_Quota
+Readonly-0.05a.tar.gz Readonly 0.05a
+Oak-1.3-r2.tar.gz Oak 1.3-r2
+Pragmatic-1.5a.tar.gz Pragmatic 1.5a
+patches_not_in_5_50.zip patches_not_in 5_50
+Business-ISIN-0.12.tgz Business-ISIN 0.12
+Business-ISIN-0.20.tgz Business-ISIN 0.20
+Business-ISIN-0.11.tgz Business-ISIN 0.11
+OpenCA-Tools-0.4.3a.tar.gz OpenCA-Tools 0.4.3a
+Xforms4Perl-0.8.4--2.tgz Xforms4Perl 0.8.4--2
+Xforms4Perl-0.8.4.tgz Xforms4Perl 0.8.4
+DBSchema-Normalizer-0.08.tgz DBSchema-Normalizer 0.08
+Win32-ActAcc-1.0.zip Win32-ActAcc 1.0
+Cyrus-SASL-NewPass.tgz Cyrus-SASL-NewPass
+Apache-ImageMagick-2.0b5.tar.gz Apache-ImageMagick 2.0b5
+Apache-ImageMagick-2.0b4.tar.gz Apache-ImageMagick 2.0b4
+Apache-ImageMagick-2.0b7.tar.gz Apache-ImageMagick 2.0b7
+dmake-4.1pl1-win32.zip dmake 4.1pl1-win32
+Win32-Pipe_v20010208.tar.gz Win32-Pipe v20010208
+vms-librarian-1_07.zip vms-librarian 1_07
+Log-Log4perl-AutoCategorize-0.01.tgz Log-Log4perl-AutoCategorize 0.01
+MailQuoteWrap0.01.tgz MailQuoteWrap 0.01
+etext1.6.2.tar.gz etext 1.6.2
+etext.1.6.3.zip etext 1.6.3
+Chess-PGN-EPD-0.03.zip Chess-PGN-EPD 0.03
+Chess-PGN-EPD-0.08.zip Chess-PGN-EPD 0.08
+Chess-PGN-EPD-0.10.zip Chess-PGN-EPD 0.10
+Jeeves1.0.tar.gz Jeeves 1.0
+Scripts-TXTCOD-4.7.1-eng.tar.gz Scripts-TXTCOD 4.7.1-eng
+Win32-Registry-File-1.09.zip Win32-Registry-File 1.09
+Win32-Registry-File-1.10.zip Win32-Registry-File 1.10
+Shuffle-1.4.tgz Shuffle 1.4
+Tk-SimpleFileSelect-0.67a.tar.gz Tk-SimpleFileSelect 0.67a
+Net-IRC-0.5b.tar.gz Net-IRC 0.5b
+perlrpcgen-0.71a.tar.gz perlrpcgen 0.71a
+WWW-Authenticate-0.6-1.tar.gz WWW-Authenticate 0.6-1
+Data-Pivoter-0.07a.tar.gz Data-Pivoter 0.07a
+Algorithm-Diff-Apply-0.2.1.zip Algorithm-Diff-Apply 0.2.1
+Algorithm-Diff-Apply-0.1.1.zip Algorithm-Diff-Apply 0.1.1
+vms-queue-0_57.zip vms-queue 0_57
+Win32API-File-0.07.zip Win32API-File 0.07
+Win32API-File-0.08.zip Win32API-File 0.08
+DBZ_File_1.1.tar.gz DBZ_File 1.1
+ais.tar.gz ais
+XML-SimpleObject0.51.tar.gz XML-SimpleObject 0.51
+XML-SimpleObject0.3.tar.gz XML-SimpleObject 0.3
+Convert-Bencode-1.02-20032506.tar.gz Convert-Bencode 1.02-20032506
+XML-MetaGenerator-0.03.tgz XML-MetaGenerator 0.03
+OS2-UPM-0_10.zip OS2-UPM 0_10
+VMS_Persona-1_01.zip VMS_Persona 1_01
+Whitespace-1.02.tgz Whitespace 1.02
+Whitespace-1.00.tgz Whitespace 1.00
+Whitespace-1.01.tgz Whitespace 1.01
+Win32-mIRC-0.03a.tar.gz Win32-mIRC 0.03a
+MSDOS-Attrib-1.00.zip MSDOS-Attrib 1.00
+MSDOS-Attrib-1.01.zip MSDOS-Attrib 1.01
+POE-Component-RSSAggregator-0.02.tgz POE-Component-RSSAggregator 0.02
+POE-Component-RSSAggregator-0.01.tgz POE-Component-RSSAggregator 0.01
+Protect-1.00a.tar.gz Protect 1.00a
+Win32API-Registry-0.12.zip Win32API-Registry 0.12
+Win32API-Registry-0.13.zip Win32API-Registry 0.13
+Win32API-Registry-0.17.zip Win32API-Registry 0.17
+GFL-0.14a.tar.gz GFL 0.14a
+FtpIndex.tar.gz FtpIndex
+Image-EXIF-0.04.tgz Image-EXIF 0.04
+Image-EXIF-0.98.tgz Image-EXIF 0.98
+Image-EXIF-0.98.1.tgz Image-EXIF 0.98.1
+Math-MatrixReal-Ext1-0-04.tgz Math-MatrixReal-Ext1-0 04
+ParseTemplate-0.37.zip ParseTemplate 0.37
+Class-AccessorMaker.tar.gz Class-AccessorMaker
+DFA-Command-1.97.tgz DFA-Command 1.97
+DFA-Command-1.96.tgz DFA-Command 1.96
+DBD-Unify-0.08.tgz DBD-Unify 0.08
+Win32GUI-Beta.zip Win32GUI-Beta
+Audio-Daemon-MPG123-0.9Beta.tar.gz Audio-Daemon-MPG123 0.9Beta
+Statistics-LSNoHistory-0.01.tgz Statistics-LSNoHistory 0.01
+new.spirit-2.1.19_beta.tar.gz new.spirit 2.1.19_beta
+IPC-LDT-2.02.tgz IPC-LDT 2.02
+IPC-LDT-2.03.tgz IPC-LDT 2.03
+Befunge-Interpreter-0.01b.tar.gz Befunge-Interpreter 0.01b
+Befunge-Interpreter-0.01c.tar.gz Befunge-Interpreter 0.01c
+Locale-US-1.00.tgz Locale-US 1.00
+Storm-Tracker_0.01.tar.gz Storm-Tracker 0.01
+Win32-Sound-0.45.zip Win32-Sound 0.45
+Geo-GNUPlot_0.01.tar.gz Geo-GNUPlot 0.01
+Ananke-SqlLink-1.0.tgz Ananke-SqlLink 1.0
+Ananke-SqlLink-1.1.2.tgz Ananke-SqlLink 1.1.2
+Tie_Counter-1.1.tgz Tie_Counter 1.1
+karma100.zip karma 100
+OS2-PrfDB-0_01.zip OS2-PrfDB 0_01
+tpog.tar.gz tpog
+AKDB_Okewo_de_1.03.tar.gz AKDB_Okewo_de 1.03
+HTML-Template-Filter-Dreamweaver.tar.gz HTML-Template-Filter-Dreamweaver
+Closures-1.2.tgz Closures 1.2
+Cyrus-Dump_All_Acl.tgz Cyrus-Dump_All_Acl
+DBD-Ovrimos-0.12.tgz DBD-Ovrimos 0.12
+Math-Expr-LATEST.tar.gz Math-Expr-LATEST
+apache.authnetldap.016.tar.gz apache.authnetldap .016
+apache.authnetldap.018.tar.gz apache.authnetldap .018
+PDL-RungeKutta-0.01.tgz PDL-RungeKutta 0.01
+DBD_SQLFLEX_8.2.tar.gz DBD_SQLFLEX 8.2
+Graphics-ColorObject-0.3a2.tar.gz Graphics-ColorObject 0.3a2
+Net-NISplusTied-0.02.tgz Net-NISplusTied 0.02
+WWW-Search-AlltheWeb-1.4+.tar.gz WWW-Search-AlltheWeb 1.4+
+Lingua-Wordnet0.65.tar.gz Lingua-Wordnet 0.65
+Lingua-Wordnet0.3.tar.gz Lingua-Wordnet 0.3
+Lingua-Wordnet0.5.tar.gz Lingua-Wordnet 0.5
+Similars-1.2.tgz Similars 1.2
+Similars-1.1.tgz Similars 1.1
+HTTP-Webdav-0.1.18-0.17.1.tar.gz HTTP-Webdav 0.1.18-0.17.1
+cmmtalk-ye2000.tar.gz cmmtalk ye2000
+Number-Phone-DE-Mobile-1_1.tgz Number-Phone-DE-Mobile 1_1
+Math-MVPoly-0.8b.tar.gz Math-MVPoly 0.8b
+Finance-Currency-Convert-0.1.tgz Finance-Currency-Convert 0.1
+imcc.0.0.1.tar.gz imcc 0.0.1
+router-lg-0.98a.tar.gz router-lg 0.98a
+Net-RawIP-0.09c.tar.gz Net-RawIP 0.09c
+TUXEDO_1_00.zip TUXEDO 1_00
+NetIcecast-1.02.zip NetIcecast 1.02
+Memo32-1.00c.zip Memo32 1.00c
+Memo32-1.01.zip Memo32 1.01
+OS2-ExtAttr-0_01.zip OS2-ExtAttr 0_01
+Test-Version-0.02.zip Test-Version 0.02
+Test-Version-0.01.zip Test-Version 0.01
+Tk-TableMatrix0.3.tar.gz Tk-TableMatrix 0.3
+Tk-TableMatrix0.71.tar.gz Tk-TableMatrix 0.71
+SHA256-0.01b.tar.gz SHA256 0.01b
+DBIx-Hash2Table-1.03.tgz DBIx-Hash2Table 1.03
+VMS-Priv-1_31.zip VMS-Priv 1_31
+Cyrus-Quota.tgz Cyrus-Quota
+makerpm0.300.tar.gz makerpm 0.300
+HPUX-FS_0.05.tar.gz HPUX-FS 0.05
+HTML-Macro-1.21.tgz HTML-Macro 1.21
+HTML-Macro-1.20.tgz HTML-Macro 1.20
+safecgiperl-b1.tar.gz safecgiperl b1
+VMS-Mail-0_05.zip VMS-Mail 0_05
+CIPP-2.99.23_beta.tar.gz CIPP 2.99.23_beta
+DBIx-HTMLView-LATEST.tar.gz DBIx-HTMLView-LATEST
+Tk-OS2-1.00.zip Tk-OS2 1.00
+diagnostics-1.2-alpha.tar.gz diagnostics 1.2-alpha
+Oak-Web-1.2-fix2.tar.gz Oak-Web 1.2-fix2
+Oak-Web-1.2-fix3.tar.gz Oak-Web 1.2-fix3
+Class-Member-1.2a.tar.gz Class-Member 1.2a
+CGI-Formalware-1.11.tgz CGI-Formalware 1.11
+CGI-Formalware-1.10.tgz CGI-Formalware 1.10
+Nums2Words-1.12.zip Nums2Words 1.12
+Apache-SessionX-2.00b3.tar.gz Apache-SessionX 2.00b3
+Apache-SessionX-2.00b5.tar.gz Apache-SessionX 2.00b5
+frogbak.tar.gz frogbak
+WWW-Search-Excite-News-2.03+.tar.gz WWW-Search-Excite-News 2.03+
+HTML-Macro.1-15.tgz HTML-Macro.1 15
+HTML-Macro.1-13.tgz HTML-Macro.1 13
+HTML-Macro.1-18.tgz HTML-Macro.1 18
+Interval.0.03.tar.gz Interval 0.03
+Interval.0.02.tar.gz Interval 0.02
+Interval.0.01.tar.gz Interval 0.01
+Win32-TieRegistry-0.24.zip Win32-TieRegistry 0.24
+Win32-TieRegistry-0.22.zip Win32-TieRegistry 0.22
+Win32-TieRegistry-0.20.zip Win32-TieRegistry 0.20
+Time-SoFar-1.00.tgz Time-SoFar 1.00
+Brasil-Checar-CPF-1.01a.tar.gz Brasil-Checar-CPF 1.01a
+zfilter27.tar.gz zfilter 27
+zfilter28.tar.gz zfilter 28
+smtm_1.5.4.tar.gz smtm 1.5.4
+Tie-Registry-0.12.zip Tie-Registry 0.12
+p9p0.13.tar.gz p9p 0.13
+p9p0.16.tar.gz p9p 0.16
+Agent-3.01g.tar.gz Agent 3.01g
+OpenCA-Configuration-1.5.2a.tar.gz OpenCA-Configuration 1.5.2a
+DateTime-Format-Strptime-1.00.tgz DateTime-Format-Strptime 1.00
+DBIx-HTML-PopupRadio-1.06.tgz DBIx-HTML-PopupRadio 1.06
+DBIx-HTML-PopupRadio-1.07.tgz DBIx-HTML-PopupRadio 1.07
+DateTime-Event-Easter-1.00.02.tgz DateTime-Event-Easter 1.00.02
+TSM_0.60.tar.gz TSM 0.60
+speech_pm_1.0.tgz speech_pm 1.0
+Net-FTPServer-XferLog-1.1.tgz Net-FTPServer-XferLog 1.1
+ExtUtils-DynaGlue-1.00a.tar.gz ExtUtils-DynaGlue 1.00a
+OpenCA-REQ-0.7.31a.tar.gz OpenCA-REQ 0.7.31a
+MIDI-Trans-0.15.zip MIDI-Trans 0.15
+QNA_0.5.tar.gz QNA 0.5
+makehomeidx1.1.1.tar.gz makehomeidx 1.1.1
+DBI-Simple-0.01.tgz DBI-Simple 0.01
+MHonArc2.6.0.tar.gz MHonArc 2.6.0
+Filesys-Ext2-0.20.tgz Filesys-Ext2 0.20
+Class-Tangram-1.12a.tar.gz Class-Tangram 1.12a
+Gtk2-1.00rc1.tar.gz Gtk2 1.00rc1
+Gtk2-1.00rc2.tar.gz Gtk2 1.00rc2
+Win32-MSAgent-0.01.tgz Win32-MSAgent 0.01
+Win32-MSAgent-0.02.tgz Win32-MSAgent 0.02
+Win32-MSAgent-0.03.tgz Win32-MSAgent 0.03
+Lingua-ZH-HanConvert-0.12.tgz Lingua-ZH-HanConvert 0.12
+Lingua-ZH-HanConvert-0.10.tgz Lingua-ZH-HanConvert 0.10
+Lingua-ZH-HanConvert-0.01.tgz Lingua-ZH-HanConvert 0.01
+vms-icc-0_02.zip vms-icc 0_02
+Getopt-Simple-1.46.tgz Getopt-Simple 1.46
+Getopt-Simple-1.45.tgz Getopt-Simple 1.45
+Unicode-Transliterate.0.3.tgz Unicode-Transliterate 0.3
+Parallel-Pvm-1.3.0.tgz Parallel-Pvm 1.3.0
+Convert-Cyr.tar.gz Convert-Cyr
+cvswebedit-v2.0b1.tar.gz cvswebedit v2.0b1
+OpenCA-X509-0.9.6a.tar.gz OpenCA-X509 0.9.6a
+perl5.004_02.tar.gz perl 5.004_02
+perl-5.8.1-RC2.tar.gz perl 5.8.1-RC2 1
+man2html3.0.1.tar.gz man2html 3.0.1
+Mac-AppleEvents-Simple-1.02.tgz Mac-AppleEvents-Simple 1.02
+Text-Typoifier-0.04a.tar.gz Text-Typoifier 0.04a
+Graphics-MNG-0.04.zip Graphics-MNG 0.04
+Des-perl-a1.tar.gz Des-perl a1
+Smil_pm_0_45.tgz Smil_pm 0_45
+Smil_pm_0_62.tgz Smil_pm 0_62
+Smil_pm_0_50.tgz Smil_pm 0_50
+vms-misc-1_01.zip vms-misc 1_01
+perl-vgalib-0.4.tgz perl-vgalib 0.4
+perl-info.5.004_1.tar.gz perl-info 5.004_1 1
+X11-Motif-1.1b3.tar.gz X11-Motif 1.1b3
+IO-Pager-0.03.tgz IO-Pager 0.03
+IO-Pager-0.05.tgz IO-Pager 0.05
+ARSperl-1.74.tgz ARSperl 1.74
+Include-1.02a.tar.gz Include 1.02a
+SOAP-MIME-0.55-4.tar.gz SOAP-MIME 0.55-4
+SOAP-MIME-0.55-5.tar.gz SOAP-MIME 0.55-5
+DBIx-BabelKit-1.07.tgz DBIx-BabelKit 1.07
+DBIx-BabelKit-1.06.tgz DBIx-BabelKit 1.06
+CGI-Echo-1.03.tgz CGI-Echo 1.03
+WWW-Search-ZDNet-2.02+.tar.gz WWW-Search-ZDNet 2.02+
+Getopt-ArgvFile-1.02.tgz Getopt-ArgvFile 1.02
+Getopt-ArgvFile-1.06.tgz Getopt-ArgvFile 1.06
+CONFIG-V0.99.11.tar.gz CONFIG V0.99.11
+weblint++-1.14.tar.gz weblint ++-1.14
+weblint-1.020.zip weblint 1.020
+Match-Any_0.01.tar.gz Match-Any 0.01
+Embperl-2.0b9.tar.gz Embperl 2.0b9
+Embperl-2.0b7.tar.gz Embperl 2.0b7
+XML-RSSLite-0.11.tgz XML-RSSLite 0.11
+txt2slides.tar.gz txt2slides
+extensible_report_generator_1.13.zip extensible_report_generator 1.13
+Class-ObjectTemplate-0.4.tar.gz Class-ObjectTemplate 0.4
+ObjStore-1.55.tar.gz ObjStore 1.55
+HTML-PrettyPrinter-0.03.tar.gz HTML-PrettyPrinter 0.03
+Apache-MIMEMapper-0.10.tar.gz Apache-MIMEMapper 0.10
+Bio-MAGE-2002-09-02_0.tar.gz Bio-MAGE-2002-09 02_0
+Geo-IP-PurePerl-1.10.tar.gz Geo-IP-PurePerl 1.10
+Tie-SentientHash-0.53.tar.gz Tie-SentientHash 0.53
+VCS-Lite-0.04.tar.gz VCS-Lite 0.04
+PDF-1.04.tar.gz PDF 1.04
+DB_File-SV18x-kit-0.06.tar.gz DB_File-SV18x-kit 0.06
+Regexp-Any-0.7.tar.gz Regexp-Any 0.7
+Dimedis-Sql-0.30.tar.gz Dimedis-Sql 0.30
+Weaving-Tablet-0.8.2.tar.gz Weaving-Tablet 0.8.2
+Acme-Pr0n-0.03.tar.gz Acme-Pr0n 0.03
+HookPrePostCall-1.2.tar.gz HookPrePostCall 1.2
+RTSP-Lite-0.1.tar.gz RTSP-Lite 0.1
+Apache-Emulator-0.02.tar.gz Apache-Emulator 0.02
+Net-SMTP-Multipart-1.4.tar.gz Net-SMTP-Multipart 1.4
+Set-CheckList-1.00.tar.gz Set-CheckList 1.00
+PDL-Graphics-PLplotOO-Map-0.01.tar.gz PDL-Graphics-PLplotOO-Map 0.01
+Tk-DateEntry-1.36.tar.gz Tk-DateEntry 1.36
+Apache-Emulator-0.02.tar.gz Apache-Emulator 0.02
+Net-SMTP-Multipart-1.4.tar.gz Net-SMTP-Multipart 1.4
+Set-CheckList-1.00.tar.gz Set-CheckList 1.00
+Bioinf_V2.0.tar.gz Bioinf V2.0
+Geanfammer_V3.4.tar.gz Geanfammer V3.4
+CONFIG-V0.99.11.tar.gz CONFIG V0.99.11
+collate/Unicode-Collate-Standard-V3_1_1-0.1.tar.gz Unicode-Collate-Standard-V3_1_1 0.1
+P4-1.1733.tar.gz P4 1.1733
+Foo-Bar-undef.tar.gz Foo-Bar
+Foo-Bar-undef-1.0.tar.gz Foo-Bar-undef 1.0
+Net-Vypress-Chat-0.72.1.tar.bz2 Net-Vypress-Chat 0.72.1
+Gopher-Server-0.1.1.tar.bz2 Gopher-Server 0.1.1
+HTML-Template-Dumper-0.1.tar.bz2 HTML-Template-Dumper 0.1
+Task-Deprecations5_14-1.00.tar.gz Task-Deprecations5_14 1.00
diff --git a/t/path.t b/t/path.t
new file mode 100644
index 0000000..e9fe65a
--- /dev/null
+++ b/t/path.t
@@ -0,0 +1,291 @@
+
+use Test::More tests => 269;
+use Data::Dumper;
+
+use CPAN::DistnameInfo;
+
+local $/ ="";
+
+while(<DATA>) {
+ chomp;
+ my($file,%exp) = split(/[\t\n]+/, $_);
+ $exp{pathname} = $file;
+ my $d = CPAN::DistnameInfo->new($file);
+ my %got = $d->properties;
+ while (my($k, $v) = each %got) {
+ is($d->$k(), $v);
+ }
+ ok(eq_hash(\%got, \%exp))
+ or print "\n",Data::Dumper->Dump([\%exp,\%got],[qw(expected got)]);
+}
+
+
+__DATA__
+CPAN/authors/id/J/JA/JAMCC/ngb-101.zip
+ filename ngb-101.zip
+ dist ngb
+ maturity released
+ distvname ngb-101
+ version 101
+ cpanid JAMCC
+ extension zip
+
+CPAN/authors/id/J/JS/JSHY/DateTime-Fiscal-Year-0.01.tar.gz
+ filename DateTime-Fiscal-Year-0.01.tar.gz
+ dist DateTime-Fiscal-Year
+ maturity released
+ distvname DateTime-Fiscal-Year-0.01
+ version 0.01
+ cpanid JSHY
+ extension tar.gz
+
+CPAN/authors/id/G/GA/GARY/Math-PRSG-1.0.tgz
+ filename Math-PRSG-1.0.tgz
+ dist Math-PRSG
+ maturity released
+ distvname Math-PRSG-1.0
+ version 1.0
+ cpanid GARY
+ extension tgz
+
+CPAN/authors/id/G/GA/GARY/Math-BigInteger-1.0.tar.gz
+ filename Math-BigInteger-1.0.tar.gz
+ dist Math-BigInteger
+ maturity released
+ distvname Math-BigInteger-1.0
+ version 1.0
+ cpanid GARY
+ extension tar.gz
+
+CPAN/authors/id/T/TE/TERRY/VoiceXML-Server-1.6.tar.gz
+ filename VoiceXML-Server-1.6.tar.gz
+ dist VoiceXML-Server
+ maturity released
+ distvname VoiceXML-Server-1.6
+ version 1.6
+ cpanid TERRY
+ extension tar.gz
+
+CPAN/authors/id/J/JA/JAMCC/ngb-100.tar.gz
+ filename ngb-100.tar.gz
+ dist ngb
+ maturity released
+ distvname ngb-100
+ version 100
+ cpanid JAMCC
+ extension tar.gz
+
+CPAN/authors/id/J/JS/JSHY/DateTime-Fiscal-Year-0.02.tar.gz
+ filename DateTime-Fiscal-Year-0.02.tar.gz
+ dist DateTime-Fiscal-Year
+ maturity released
+ distvname DateTime-Fiscal-Year-0.02
+ version 0.02
+ cpanid JSHY
+ extension tar.gz
+
+CPAN/authors/id/G/GA/GARY/Crypt-DES-1.0.tar.gz
+ filename Crypt-DES-1.0.tar.gz
+ dist Crypt-DES
+ maturity released
+ distvname Crypt-DES-1.0
+ version 1.0
+ cpanid GARY
+ extension tar.gz
+
+CPAN/authors/id/G/GA/GARY/Stream-1.00.tar.gz
+ filename Stream-1.00.tar.gz
+ dist Stream
+ maturity released
+ distvname Stream-1.00
+ version 1.00
+ cpanid GARY
+ extension tar.gz
+
+CPAN/authors/id/G/GS/GSPIVEY/Text-EP3-Verilog-1.00.tar.gz
+ filename Text-EP3-Verilog-1.00.tar.gz
+ dist Text-EP3-Verilog
+ maturity released
+ distvname Text-EP3-Verilog-1.00
+ version 1.00
+ cpanid GSPIVEY
+ extension tar.gz
+
+CPAN/authors/id/T/TM/TMAEK/DBIx-Cursor-0.14.tar.gz
+ filename DBIx-Cursor-0.14.tar.gz
+ dist DBIx-Cursor
+ maturity released
+ distvname DBIx-Cursor-0.14
+ version 0.14
+ cpanid TMAEK
+ extension tar.gz
+
+CPAN/authors/id/G/GA/GARY/Crypt-IDEA-1.0.tar.gz
+ filename Crypt-IDEA-1.0.tar.gz
+ dist Crypt-IDEA
+ maturity released
+ distvname Crypt-IDEA-1.0
+ version 1.0
+ cpanid GARY
+ extension tar.gz
+
+CPAN/authors/id/G/GA/GARY/Math-TrulyRandom-1.0.tar.gz
+ filename Math-TrulyRandom-1.0.tar.gz
+ dist Math-TrulyRandom
+ maturity released
+ distvname Math-TrulyRandom-1.0
+ version 1.0
+ cpanid GARY
+ extension tar.gz
+
+CPAN/authors/id/T/TE/TERRY/VoiceXML-Server-1.13.tar.gz
+ filename VoiceXML-Server-1.13.tar.gz
+ dist VoiceXML-Server
+ maturity released
+ distvname VoiceXML-Server-1.13
+ version 1.13
+ cpanid TERRY
+ extension tar.gz
+
+JWILLIAMS/MasonX-Lexer-MSP-0.02.tar.gz
+ filename JWILLIAMS/MasonX-Lexer-MSP-0.02.tar.gz
+ dist MasonX-Lexer-MSP
+ maturity released
+ distvname MasonX-Lexer-MSP-0.02
+ version 0.02
+ extension tar.gz
+
+CPAN/authors/id/J/JA/JAMCC/Tie-CacheHash-0.50.tar.gz
+ filename Tie-CacheHash-0.50.tar.gz
+ dist Tie-CacheHash
+ maturity released
+ distvname Tie-CacheHash-0.50
+ version 0.50
+ cpanid JAMCC
+ extension tar.gz
+
+CPAN/authors/id/T/TM/TMAEK/DBIx-Cursor-0.13.tar.gz
+ filename DBIx-Cursor-0.13.tar.gz
+ dist DBIx-Cursor
+ maturity released
+ distvname DBIx-Cursor-0.13
+ version 0.13
+ cpanid TMAEK
+ extension tar.gz
+
+CPAN/authors/id/G/GS/GSPIVEY/Text-EP3-1.00.tar.gz
+ filename Text-EP3-1.00.tar.gz
+ dist Text-EP3
+ maturity released
+ distvname Text-EP3-1.00
+ version 1.00
+ cpanid GSPIVEY
+ extension tar.gz
+
+CPAN/authors/id/J/JD/JDUTTON/Parse-RandGen-0.100.tar.gz
+ filename Parse-RandGen-0.100.tar.gz
+ dist Parse-RandGen
+ maturity released
+ distvname Parse-RandGen-0.100
+ version 0.100
+ cpanid JDUTTON
+ extension tar.gz
+
+id/N/NI/NI-S/Tk400.202.tar.gz
+ filename Tk400.202.tar.gz
+ dist Tk
+ maturity released
+ distvname Tk400.202
+ version 400.202
+ cpanid NI-S
+ extension tar.gz
+
+authors/id/G/GB/GBARR/perl5.005_03.tar.gz
+ filename perl5.005_03.tar.gz
+ dist perl
+ maturity released
+ distvname perl5.005_03
+ version 5.005_03
+ cpanid GBARR
+ extension tar.gz
+
+M/MS/MSCHWERN/Test-Simple-0.48_01.tar.gz
+ filename Test-Simple-0.48_01.tar.gz
+ dist Test-Simple
+ maturity developer
+ distvname Test-Simple-0.48_01
+ version 0.48_01
+ cpanid MSCHWERN
+ extension tar.gz
+
+id/J/JV/JV/PostScript-Font-1.09.tar.gz
+ filename PostScript-Font-1.09.tar.gz
+ dist PostScript-Font
+ maturity released
+ distvname PostScript-Font-1.09
+ version 1.09
+ cpanid JV
+ extension tar.gz
+
+id/I/IB/IBMTORDB2/DBD-DB2-0.77.tar.gz
+ filename DBD-DB2-0.77.tar.gz
+ dist DBD-DB2
+ maturity released
+ distvname DBD-DB2-0.77
+ version 0.77
+ cpanid IBMTORDB2
+ extension tar.gz
+
+id/I/IB/IBMTORDB2/DBD-DB2-0.99.tar.bz2
+ filename DBD-DB2-0.99.tar.bz2
+ dist DBD-DB2
+ maturity released
+ distvname DBD-DB2-0.99
+ version 0.99
+ cpanid IBMTORDB2
+ extension tar.bz2
+
+CPAN/authors/id/L/LD/LDS/CGI.pm-2.34.tar.gz
+ filename CGI.pm-2.34.tar.gz
+ dist CGI
+ maturity released
+ distvname CGI.pm-2.34
+ version 2.34
+ cpanid LDS
+ extension tar.gz
+
+CPAN/authors/id/J/JE/JESSE/perl-5.12.0-RC0.tar.gz
+ filename perl-5.12.0-RC0.tar.gz
+ dist perl
+ maturity developer
+ distvname perl-5.12.0-RC0
+ version 5.12.0-RC0
+ cpanid JESSE
+ extension tar.gz
+
+CPAN/authors/id/G/GS/GSAR/perl-5.6.1-TRIAL3.tar.gz
+ filename perl-5.6.1-TRIAL3.tar.gz
+ dist perl
+ maturity developer
+ distvname perl-5.6.1-TRIAL3
+ version 5.6.1-TRIAL3
+ cpanid GSAR
+ extension tar.gz
+
+CPAN/authors/id/R/RJ/RJBS/Dist-Zilla-2.100860-TRIAL.tar.gz
+ filename Dist-Zilla-2.100860-TRIAL.tar.gz
+ dist Dist-Zilla
+ maturity developer
+ distvname Dist-Zilla-2.100860-TRIAL
+ version 2.100860-TRIAL
+ cpanid RJBS
+ extension tar.gz
+
+CPAN/authors/id/M/MI/MINGYILIU/Bio-ASN1-EntrezGene-1.10-withoutworldwriteables.tar.gz
+ filename Bio-ASN1-EntrezGene-1.10-withoutworldwriteables.tar.gz
+ dist Bio-ASN1-EntrezGene
+ maturity released
+ distvname Bio-ASN1-EntrezGene-1.10-withoutworldwriteables
+ version 1.10
+ cpanid MINGYILIU
+ extension tar.gz