diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2011-03-11 23:38:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2011-03-11 23:38:23 +0000 |
commit | 56f58177bddb4002f0dc57811fe0f72a8fc9e479 (patch) | |
tree | 0aa914b3ce04ba597af37d64c31caf0159f0ae1b | |
download | CPAN-DistnameInfo-tarball-master.tar.gz |
CPAN-DistnameInfo-0.12HEADCPAN-DistnameInfo-0.12master
-rw-r--r-- | Changes | 49 | ||||
-rw-r--r-- | MANIFEST | 9 | ||||
-rw-r--r-- | META.yml | 22 | ||||
-rw-r--r-- | Makefile.PL | 28 | ||||
-rw-r--r-- | README | 68 | ||||
-rw-r--r-- | SIGNATURE | 31 | ||||
-rw-r--r-- | lib/CPAN/DistnameInfo.pm | 205 | ||||
-rw-r--r-- | t/ext.t | 577 | ||||
-rw-r--r-- | t/path.t | 291 |
9 files changed, 1280 insertions, 0 deletions
@@ -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', + }, + } + ) + : () + ), +); + @@ -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 + @@ -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 |