summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregor herrmann <gregoa@debian.org>2022-04-10 16:41:00 +0200
committergregor herrmann <gregoa@debian.org>2022-04-10 16:41:00 +0200
commit5985a7f800a427906363b7929e9e4fac1026fc22 (patch)
treea09381330b08a519ef8c4ee433c577a621e0bf2a
Import original source of Parse-Distname 0.05
-rw-r--r--Changes17
-rw-r--r--LICENSE380
-rw-r--r--MANIFEST14
-rw-r--r--META.json58
-rw-r--r--META.yml30
-rw-r--r--Makefile.PL18
-rw-r--r--README20
-rw-r--r--cpanfile8
-rw-r--r--lib/Parse/Distname.pm406
-rw-r--r--t/00_load.t5
-rw-r--r--t/basic.t81
-rw-r--r--t/compat/ext.t584
-rw-r--r--t/compat/path.t299
-rw-r--r--xt/walk_through.t2931
14 files changed, 4851 insertions, 0 deletions
diff --git a/Changes b/Changes
new file mode 100644
index 0000000..be78c71
--- /dev/null
+++ b/Changes
@@ -0,0 +1,17 @@
+Revision history for Parse-Distname
+
+0.05 2019/09/29
+ - fixed is_perl6
+
+0.04 2019/08/09
+ - fixed a case that contains SSL3
+
+0.03 2018/11/20
+ - fixed to return early correctly
+
+0.02 2018/11/15
+ - renamed two hash keys (dist/distv => name/name_and_version)
+ - fixed cpan_path not to have a needless slash
+
+0.01 2018/11/15
+ - initial release
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d78b0c5
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,380 @@
+This software is copyright (c) 2018 by Kenichi Ishigaki.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+Terms of the Perl programming language system itself
+
+a) the GNU General Public License as published by the Free
+ Software Foundation; either version 1, or (at your option) any
+ later version, or
+b) the &quot;Artistic License&quot;
+
+--- The GNU General Public License, Version 1, February 1989 ---
+
+This software is Copyright (c) 2018 by Kenichi Ishigaki.
+
+This is free software, licensed under:
+
+ The GNU General Public License, Version 1, February 1989
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 1, February 1989
+
+ Copyright (C) 1989 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The license agreements of most software companies try to keep users
+at the mercy of those companies. By contrast, our General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. The
+General Public License applies to the Free Software Foundation&#39;s
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of a such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must tell them their rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author&#39;s protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors&#39; reputations.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any program or other work which
+contains a notice placed by the copyright holder saying it may be
+distributed under the terms of this General Public License. The
+&quot;Program&quot;, below, refers to any such program or work, and a &quot;work based
+on the Program&quot; means either the Program or any work containing the
+Program or a portion of it, either verbatim or with modifications. Each
+licensee is addressed as &quot;you&quot;.
+
+ 1. You may copy and distribute verbatim copies of the Program&#39;s source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program. You may charge a fee for the physical act of
+transferring a copy.
+
+ 2. You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+ a) cause the modified files to carry prominent notices stating that
+ you changed the files and the date of any change; and
+
+ b) cause the whole of any work that you distribute or publish, that
+ in whole or in part contains the Program or any part thereof, either
+ with or without modifications, to be licensed at no charge to all
+ third parties under the terms of this General Public License (except
+ that you may choose to grant warranty protection to some or all
+ third parties, at your option).
+
+ c) If the modified program normally reads commands interactively when
+ run, you must cause it, when started running for such interactive use
+ in the simplest and most usual way, to print or display an
+ announcement including an appropriate copyright notice and a notice
+ that there is no warranty (or else, saying that you provide a
+ warranty) and that users may redistribute the program under these
+ conditions, and telling the user how to view a copy of this General
+ Public License.
+
+ d) You may charge a fee for the physical act of transferring a
+ copy, and you may at your option offer warranty protection in
+ exchange for a fee.
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+ 3. You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+ a) accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ b) accompany it with a written offer, valid for at least three
+ years, to give any third party free (except for a nominal charge
+ for the cost of distribution) a complete machine-readable copy of the
+ corresponding source code, to be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ c) accompany it with the information you received as to where the
+ corresponding source code may be obtained. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form alone.)
+
+Source code for a work means the preferred form of the work for making
+modifications to it. For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+ 4. You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License. However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+ 5. By copying, distributing or modifying the Program (or any work based
+on the Program) you indicate your acceptance of this license to do so,
+and all its terms and conditions.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these
+terms and conditions. You may not impose any further restrictions on the
+recipients&#39; exercise of the rights granted herein.
+
+ 7. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of the license which applies to it and &quot;any
+later version&quot;, you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+the license, you may choose any version ever published by the Free Software
+Foundation.
+
+ 8. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to humanity, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+ To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the
+&quot;copyright&quot; line and a pointer to where the full notice is found.
+
+ &lt;one line to give the program&#39;s name and a brief idea of what it does.&gt;
+ Copyright (C) 19yy &lt;name of author&gt;
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19xx name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w&#39;.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c&#39; for details.
+
+The hypothetical commands `show w&#39; and `show c&#39; should show the
+appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than `show w&#39; and `show
+c&#39;; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
+necessary. Here a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ program `Gnomovision&#39; (a program to direct compilers to make passes
+ at assemblers) written by James Hacker.
+
+ &lt;signature of Ty Coon&gt;, 1 April 1989
+ Ty Coon, President of Vice
+
+That&#39;s all there is to it!
+
+
+--- The Artistic License 1.0 ---
+
+This software is Copyright (c) 2018 by Kenichi Ishigaki.
+
+This is free software, licensed under:
+
+ The Artistic License 1.0
+
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package
+may be copied, such that the Copyright Holder maintains some semblance of
+artistic control over the development of the package, while giving the users of
+the package the right to use and distribute the Package in a more-or-less
+customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ - &quot;Package&quot; refers to the collection of files distributed by the Copyright
+ Holder, and derivatives of that collection of files created through
+ textual modification.
+ - &quot;Standard Version&quot; refers to such a Package if it has not been modified,
+ or has been modified in accordance with the wishes of the Copyright
+ Holder.
+ - &quot;Copyright Holder&quot; is whoever is named in the copyright or copyrights for
+ the package.
+ - &quot;You&quot; is you, if you&#39;re thinking about copying or distributing this Package.
+ - &quot;Reasonable copying fee&quot; is whatever you can justify on the basis of media
+ cost, duplication charges, time of people involved, and so on. (You will
+ not be required to justify it to the Copyright Holder, but only to the
+ computing community at large as a market that must bear the fee.)
+ - &quot;Freely Available&quot; means that no fee is charged for the item itself, though
+ there may be fees involved in handling the item. It also means that
+ recipients of the item may redistribute it under the same conditions they
+ received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived
+from the Public Domain or from the Copyright Holder. A Package modified in such
+a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that
+you insert a prominent notice in each changed file stating how and when you
+changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or an
+ equivalent medium, or placing the modifications on a major archive site
+ such as ftp.uu.net, or by allowing the Copyright Holder to include your
+ modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with
+ standard executables, which must also be provided, and provide a separate
+ manual page for each non-standard executable that clearly documents how it
+ differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable
+form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where to
+ get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package
+ with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard
+ Version executables, giving the non-standard executables non-standard
+ names, and clearly documenting the differences in manual pages (or
+ equivalent), together with instructions on where to get the Standard
+ Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this Package. You
+may not charge a fee for this Package itself. However, you may distribute this
+Package in aggregate with other (possibly commercial) programs as part of a
+larger (possibly commercial) software distribution provided that you do not
+advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output
+from the programs of this Package do not automatically fall under the copyright
+of this Package, but belong to whomever generated them, and may be sold
+commercially, and may be aggregated with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package shall not
+be considered part of this Package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED &quot;AS IS&quot; AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
+
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..d6545c6
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,14 @@
+Changes
+cpanfile
+lib/Parse/Distname.pm
+LICENSE
+Makefile.PL
+MANIFEST This list of files
+README
+t/00_load.t
+t/basic.t
+t/compat/ext.t
+t/compat/path.t
+xt/walk_through.t
+META.yml Module YAML meta-data (added by MakeMaker)
+META.json Module JSON meta-data (added by MakeMaker)
diff --git a/META.json b/META.json
new file mode 100644
index 0000000..a7828ab
--- /dev/null
+++ b/META.json
@@ -0,0 +1,58 @@
+{
+ "abstract" : "parse a distribution name",
+ "author" : [
+ "Kenichi Ishigaki <ishigaki@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : 2
+ },
+ "name" : "Parse-Distname",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker::CPANfile" : "0.08"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Exporter" : "5.57"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "JSON::PP" : "0",
+ "Test::Differences" : "0",
+ "Test::More" : "0.88",
+ "Test::UseAllModules" : "0.17"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "https://github.com/charsbar/Parse-Distname/issues"
+ },
+ "repository" : {
+ "url" : "https://github.com/charsbar/Parse-Distname"
+ }
+ },
+ "version" : "0.05",
+ "x_serialization_backend" : "JSON::PP version 4.00"
+}
diff --git a/META.yml b/META.yml
new file mode 100644
index 0000000..f6e71cd
--- /dev/null
+++ b/META.yml
@@ -0,0 +1,30 @@
+---
+abstract: 'parse a distribution name'
+author:
+ - 'Kenichi Ishigaki <ishigaki@cpan.org>'
+build_requires:
+ ExtUtils::MakeMaker: '0'
+ JSON::PP: '0'
+ Test::Differences: '0'
+ Test::More: '0.88'
+ Test::UseAllModules: '0.17'
+configure_requires:
+ ExtUtils::MakeMaker::CPANfile: '0.08'
+dynamic_config: 0
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Parse-Distname
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ Exporter: '5.57'
+resources:
+ bugtracker: https://github.com/charsbar/Parse-Distname/issues
+ repository: https://github.com/charsbar/Parse-Distname
+version: '0.05'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644
index 0000000..b9a9fe7
--- /dev/null
+++ b/Makefile.PL
@@ -0,0 +1,18 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker::CPANfile;
+
+WriteMakefile(
+ NAME => 'Parse::Distname',
+ AUTHOR => 'Kenichi Ishigaki <ishigaki@cpan.org>',
+ VERSION_FROM => 'lib/Parse/Distname.pm',
+ ABSTRACT_FROM => 'lib/Parse/Distname.pm',
+ LICENSE => 'perl',
+ test => {TESTS => 't/*.t t/*/*.t'},
+ META_MERGE => {
+ resources => {
+ repository => 'https://github.com/charsbar/Parse-Distname',
+ bugtracker => 'https://github.com/charsbar/Parse-Distname/issues',
+ },
+ },
+);
diff --git a/README b/README
new file mode 100644
index 0000000..5892250
--- /dev/null
+++ b/README
@@ -0,0 +1,20 @@
+Parse-Distname
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+COPYRIGHT AND LICENSE
+
+Copyright (C) 2018 Kenichi Ishigaki
+
+This software is copyright (c) 2018 by Kenichi Ishigaki.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
diff --git a/cpanfile b/cpanfile
new file mode 100644
index 0000000..6f72d7f
--- /dev/null
+++ b/cpanfile
@@ -0,0 +1,8 @@
+requires 'Exporter' => '5.57'; # for import
+
+on 'test' => sub {
+ requires 'Test::More' => '0.88'; # for done_testing
+ requires 'Test::UseAllModules' => '0.17';
+ requires 'Test::Differences';
+ requires 'JSON::PP';
+};
diff --git a/lib/Parse/Distname.pm b/lib/Parse/Distname.pm
new file mode 100644
index 0000000..6965009
--- /dev/null
+++ b/lib/Parse/Distname.pm
@@ -0,0 +1,406 @@
+package Parse::Distname;
+
+use strict;
+use warnings;
+use Carp;
+use Exporter 5.57 'import';
+
+our $VERSION = '0.05';
+our @EXPORT_OK = qw/parse_distname/;
+
+our $SUFFRE = qr/\.(?:tgz|tbz|tar[\._-]gz|tar\.bz2|tar\.Z|zip)$/;
+
+sub parse_distname {
+ my $distname = shift;
+
+ my %res;
+
+ # Stringify first, in case $distname is some kind of an object
+ my $path = "$distname";
+ $res{arg} = $path;
+
+ # Small path normalization
+ $path =~ s!\\!/!g;
+ $path =~ s!//+!/!g;
+ $path =~ s!/\./!/!g;
+
+ $path =~ s!^(.*?/)?(?:authors/)?id/!!;
+
+ # Get pause_id
+ my ($pause_id, $author_dir);
+
+ # A/AU/AUTHOR/Dist-Version.ext
+ if ($path =~ s!^(([A-Z])/(\2[A-Z0-9])/(\3[A-Z0-9-]{0,7})/)!!) {
+ $author_dir = $1;
+ $pause_id = $4;
+ }
+ # AUTHOR/Dist-Version.ext as a handy shortcut (esp. for testing)
+ elsif ($path =~ s!^([A-Z][A-Z0-9][A-Z0-9-]{0,7})/!!) {
+ $pause_id = $1;
+ $author_dir = join '/',
+ substr($pause_id, 0, 1),
+ substr($pause_id, 0, 2),
+ $pause_id,
+ "";
+ }
+ # A little backward incompatibility here (id/A/AU/AUTHOR etc)
+ # but I believe nobody cares.
+ else {
+ $pause_id = "";
+
+ # Assume it's a local distribution
+ $author_dir = "L/LO/LOCAL/";
+ }
+ $res{pause_id} = $pause_id;
+ $res{cpan_path} = "$author_dir$path";
+
+ # Now the path should be (subdir/)dist-version
+ if ($path =~ s!^(.+/)!!) {
+ $res{subdir} = $1;
+
+ # Typical Perl6 distributions are located under Perl6/ directory
+ $res{perl6} = 1 if $res{subdir} =~ m!^Perl6/!;
+ }
+
+ # PAUSE allows only a few extensions ($PAUSE::dist::SUFFQR + zip)
+ $path =~ s/($SUFFRE)//i or return;
+ $res{extension} = $1;
+
+ $res{name_and_version} = $path;
+
+ # Parse dist-version
+ my $info = _parse_distv($path);
+ $res{$_} = $info->{$_} for keys %$info;
+
+ return \%res;
+}
+
+sub _parse_distv {
+ my $distv = shift;
+
+ my %res;
+
+ # Remove potential -withoutworldwriteables suffix
+ $distv =~ s/-withoutworldwriteables$//;
+
+ my $trial;
+ # Remove TRIAL (PAUSE::dist::isa_dev_version seems to be
+ # a little too strict)
+ if ($distv =~ s/([_\-])(TRIAL(?:[0-9]*|[_.\-].+))$//) {
+ $trial = [$1, $2];
+ }
+
+ # Remove RC for perl as well
+ my $rc;
+ if ($distv =~ /^perl/ and $distv =~ s/\-(RC[0-9]*)$//) {
+ $rc = $1;
+ }
+
+ my $version;
+ # Usually a version, which starts with a number (or a 'v'-number),
+ # is the last part of the name.
+ if ($distv =~ s/\-((?:[vV][0-9]|[0-9.])[^-]*)$//) {
+ $version = $1;
+ }
+ # However, there may be a trailing part.
+ elsif ($distv =~ s/\-((?:[vV][0-9]|[0-9.])(?![A-Z]).*?)$//) {
+ $version = $1;
+
+ # Special case
+ if ($distv eq 'perl' and $version !~ /\./) {
+ $distv = "$distv-$version";
+ $version = undef;
+ }
+ }
+
+ # If the name still contains a dot between numbers,
+ # it's probably a part of the version.
+ if ($distv =~ s/([_\.-]?)([vV]?[0-9]*\.[0-9]+.*)$//) {
+ my $separator = $1 || '';
+ $version = defined $version ? "$2-$version" : $2;
+ $version =~ s/^\.//;
+
+ # Special case
+ if ($distv =~ s/_v$//) {
+ $version = "v$separator$version";
+ }
+ }
+
+ # If we still don't have a version and the name has a tailing number
+ # with a small-letter prefix (other than 'v')
+ if (!defined $version and $distv =~ s/\-([a-z]+[0-9][0-9_]*)$//) {
+ $version = $1;
+ }
+
+ # If we still don't have a version, and the name doesn't have a hyphen,
+ # and it has a tailing number... (and an occasional alpha/beta marker)
+ # (and the number is not a part of a few proper names)
+ if (!defined $version and $distv !~ /\-(?:S3|MSWin32|OS2|(?:[A-Za-z][A-Za-z0-9_]*)?SSL3)$/i and $distv =~ s/([_\.]?)([vV]?[0-9_]+[ab]?)$//) {
+ my $separator = $1;
+ $version = $2;
+
+ # Special case
+ if (!$separator and $distv =~ s/_([a-z])$//) {
+ $version = "$1$version";
+ }
+ }
+
+ # Special case that should be put at the end
+ if (!defined $version and $distv =~ s/\-undef$//) {
+ $version = undef;
+ }
+
+ my $dist = $distv;
+
+ my $dev;
+ if ($dist eq 'perl') {
+ if ($version =~ /\d\.(\d+)(?:\D(\d+))?/) {
+ $dev = 1 if ($1 > 6 and $1 & 1) or ($2 and $2 >= 50);
+ }
+ if ($rc) {
+ $version = "$version-$rc";
+ $dev = 1;
+ }
+ }
+ elsif (($version and $version =~ /\d\.\d+_\d/) or $trial) {
+ $dev = 1;
+ }
+
+ if ($trial) {
+ $version = defined $version ? "$version$trial->[0]$trial->[1]" : $trial->[1];
+ $dev = 1;
+ }
+
+ # Normalize the Dist.pm-1.23 convention which CGI.pm and
+ # a few others use.
+ $dist =~ s/\.pm$//;
+
+ # Remove apparent remnants that can't be a part of a package name
+ $dist =~ s/[\-\.]+$//;
+
+ my $version_number;
+ if (defined $version) {
+ if ($version =~ /^([vV]?[0-9._]+)(?:\-|$)/) {
+ $version_number = $1;
+ $version_number =~ s/[\._]+$//;
+ }
+ }
+
+ return {
+ name => $dist,
+ version => $version,
+ version_number => $version_number,
+ is_dev => $dev,
+ };
+}
+
+# for compatibility with CPAN::DistnameInfo
+
+sub new {
+ my ($class, $distname) = @_;
+ my $info = parse_distname($distname) || {};
+ bless $info, $class;
+}
+
+sub distname_info {
+ my $distname = shift;
+ my $info = parse_distname($distname);
+ @$info{qw/name version is_dev/};
+}
+
+sub dist { shift->{name} }
+sub version { shift->{version} }
+sub maturity { shift->{is_dev} ? 'developer' : 'released' }
+sub filename {
+ my $self = shift;
+ join "", grep defined $_, @$self{qw/subdir name_and_version extension/};
+}
+sub cpanid { shift->{pause_id} }
+sub distvname { shift->{name_and_version} }
+sub extension { substr(shift->{extension}, 1) }
+sub pathname { shift->{arg} }
+
+sub properties {
+ my $self = shift;
+ my @methods = qw/
+ dist version maturity filename
+ cpanid distvname extension pathname
+ /;
+ my %properties;
+ for my $method (@methods) {
+ $properties{$method} = $self->$method;
+ }
+ %properties;
+}
+
+# extra accessors
+
+sub is_perl6 { shift->{perl6} }
+sub version_number { shift->{version_number} }
+
+1;
+
+__END__
+
+=encoding utf-8
+
+=head1 NAME
+
+Parse::Distname - parse a distribution name
+
+=head1 SYNOPSIS
+
+ use Parse::Distname 'parse_distname';
+ my $info = parse_distname('ISHIGAKI/Parse-Distname-0.01.tar.gz');
+
+ # for compatibility with CPAN::DistnameInfo
+ my $info_obj = Parse::Distname->new('ISHIGAKI/Parse-Distname-0.01.tar.gz');
+ say $info_obj->dist; # Parse-Distname
+
+=head1 DESCRIPTION
+
+Parse::Distname is yet another distribution name parser. It works
+almost the same as L<CPAN::DistnameInfo>, but Parse::Distname takes
+a different approach. It tries to extract a version part of a
+distribution and treat the rest as a distribution name, contrary to
+CPAN::DistnameInfo which tries to define a name part and treat
+the rest as a version.
+
+Because of this difference, when Parse::Distname parses a weird
+distribution name such as "AUTHOR/v1.0.tar.gz", it says the name
+is empty and the version is "v1.0", while CPAN::DistnameInfo
+says the name is "v" and the version is "1.0". See test files
+in this distribution if you need more details. As of this writing,
+Parse::Distname returns a different result for about 200+
+distributions among about 320000 BackPan distributions.
+
+=head1 FUNCTION
+
+Parse::Distname exports one function C<parse_distname> if requested.
+It returns a hash reference, with the following keys as of this
+writing:
+
+=over 4
+
+=item arg
+
+The path you passed to the function. If what you passed is some kind
+of an object (of Path::Tiny, for example), it's stringified.
+
+=item cpan_path
+
+A relative path to the distribution, whose base directory is
+assumed CPAN/authors/id/. If org_path doesn't contain a pause_id,
+the distribution is assumed to belong to LOCAL user. For example,
+
+ say parse_distname('Dist-0.01.tar.gz')->{cpan_path};
+ # L/LO/LOCAL/Dist-0.01.tar.gz
+
+If you only gives a pause_id, parent directories are supplemented.
+
+ say parse_distname('ISHIGAKI/Dist-0.01.tar.gz')->{cpan_path};
+ # I/IS/ISHIGAKI/Dist-0.01.tar.gz
+
+=item pause_id
+
+The pause_id of the distribution. Contrary to the above, this is
+empty if you don't give a pause_id.
+
+ say parse_distname('Dist-0.01.tar.gz')->{pause_id};
+ # (undef, not LOCAL)
+
+=item subdir
+
+A PAUSE distribution may be put into a subdirectory under the author
+directory. If the name contains such a subdirectory, it's kept here.
+
+ say parse_distname('AUTHOR/sub/Dist-0.01.tar.gz')->{subdir};
+ # sub
+
+Perl 6 distributions are (almost) always put under Perl6/
+subdirectory under each author's directory (with a few exceptions).
+
+=item name_and_version
+
+The name and version of the distribution, without an extension and
+directory parts, which should not be empty as long as the
+distribution has an extension that PAUSE accepts.
+
+ say parse_distname('AUTHOR/sub/Dist-0.01.tar.gz')->{name_and_version};
+ # Dist-0.01
+
+=item name
+
+The name part of the distribution. This may be empty if no valid
+name is found
+
+ say parse_distname('AUTHOR/sub/Dist-0.01.tar.gz')->{name};
+ # Dist
+
+ say parse_distname('AUTHOR/v0.1.tar.gz')->{name};
+ # (empty)
+
+=item version
+
+The version part of the distribution. This also may be empty, and
+this may not always be a valid version, and may have a following
+part such as C<-TRIAL>.
+
+ say parse_distname('AUTHOR/Dist.tar.gz')->{version};
+ # (undef)
+
+ say parse_distname('AUTHOR/Dist-0.01-TRIAL.tar.gz')->{version};
+ # 0.01-TRIAL
+
+=item version_number
+
+The first numerical part of the version. This also may be empty, and
+this may not always be a valid version.
+
+ say parse_distname('AUTHOR/Dist-0.01-TRIAL.tar.gz')->{version_number};
+ # 0.01
+
+ say parse_distname('AUTHOR/Dist-0_0_1.tar.gz')->{version_number};
+ # 0_0_1
+
+=item extension
+
+The extension of the distribution. If no valid extension is found,
+parse_distname returns false (undef).
+
+=item is_perl6
+
+For convenience, if subdir exists and it starts with Perl6/,
+this becomes true.
+
+=item is_dev
+
+If the version looks like C<\d+.\d+_\d+>, or contains C<-TRIAL>,
+this becomes true. PAUSE treats such a distribution as a developer's
+release and doesn't list it in its indices.
+
+=back
+
+=head1 METHODS
+
+For compatibility with CPAN::DistnameInfo, Parse::Distname has the
+same methods/accessors, so you can use it as a drop-in replacement.
+
+In addition, C<is_perl6> and C<version_number> are available.
+
+=head1 SEE ALSO
+
+L<CPAN::DistnameInfo>
+
+=head1 AUTHOR
+
+Kenichi Ishigaki, E<lt>ishigaki@cpan.orgE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2018 by Kenichi Ishigaki.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
diff --git a/t/00_load.t b/t/00_load.t
new file mode 100644
index 0000000..f895158
--- /dev/null
+++ b/t/00_load.t
@@ -0,0 +1,5 @@
+use strict;
+use warnings;
+use Test::UseAllModules;
+
+BEGIN { all_uses_ok(); }
diff --git a/t/basic.t b/t/basic.t
new file mode 100644
index 0000000..4c7b225
--- /dev/null
+++ b/t/basic.t
@@ -0,0 +1,81 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Differences;
+use Parse::Distname qw/parse_distname/;
+
+my $path = "CPAN/authors/id/I/IS/ISHIGAKI/Parse-Distname-0.01.tar.gz";
+my $info = parse_distname($path);
+
+unified_diff;
+
+eq_or_diff $info => +{
+ arg => $path,
+ cpan_path => "I/IS/ISHIGAKI/Parse-Distname-0.01.tar.gz",
+ pause_id => "ISHIGAKI",
+ name => "Parse-Distname",
+ name_and_version => "Parse-Distname-0.01",
+ version => "0.01",
+ version_number => "0.01",
+ extension => ".tar.gz",
+ is_dev => undef,
+}, "parse_distname";
+
+# distname_info
+
+eq_or_diff [Parse::Distname::distname_info($path)] => [
+ "Parse-Distname",
+ "0.01",
+ undef,
+], "distname_info";
+
+# accessors
+
+ $info = Parse::Distname->new($path);
+is $info->dist => "Parse-Distname", "dist";
+is $info->version => "0.01", "version";
+is $info->maturity => "released", "maturity";
+is $info->filename => "Parse-Distname-0.01.tar.gz", "filename";
+is $info->cpanid => "ISHIGAKI", "cpanid";
+is $info->distvname => "Parse-Distname-0.01", "distvname";
+is $info->extension => "tar.gz", "extension";
+is $info->pathname => $path, "pathname";
+
+ok !$info->is_perl6, "is_perl6";
+is $info->version_number => "0.01", "version_number";
+
+# unrelated files
+ok !parse_distname("authors/id/A/AU/AUTHOR/CHECKSUMS");
+ok !parse_distname("RECENT-6h.json");
+ok !parse_distname("authors/00whois.xml");
+
+my $p6path = 'CPAN/authors/id/S/SK/SKAJI/Perl6/App-Mi6-0.0.2.tar.gz';
+my $p6info = parse_distname($p6path);
+
+eq_or_diff $p6info => +{
+ arg => $p6path,
+ cpan_path => "S/SK/SKAJI/Perl6/App-Mi6-0.0.2.tar.gz",
+ pause_id => "SKAJI",
+ name => "App-Mi6",
+ name_and_version => "App-Mi6-0.0.2",
+ version => "0.0.2",
+ version_number => "0.0.2",
+ extension => ".tar.gz",
+ is_dev => undef,
+ subdir => 'Perl6/',
+ perl6 => 1,
+}, "parse_distname";
+
+ $p6info = Parse::Distname->new($p6path);
+is $p6info->dist => "App-Mi6", "dist";
+is $p6info->version => "0.0.2", "version";
+is $p6info->maturity => "released", "maturity";
+is $p6info->filename => "Perl6/App-Mi6-0.0.2.tar.gz", "filename";
+is $p6info->cpanid => "SKAJI", "cpanid";
+is $p6info->distvname => "App-Mi6-0.0.2", "distvname";
+is $p6info->extension => "tar.gz", "extension";
+is $p6info->pathname => $p6path, "pathname";
+ok $p6info->is_perl6, "is_perl6";
+is $p6info->version_number => "0.0.2", "version_number";
+
+done_testing;
diff --git a/t/compat/ext.t b/t/compat/ext.t
new file mode 100644
index 0000000..62fbab7
--- /dev/null
+++ b/t/compat/ext.t
@@ -0,0 +1,584 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Differences;
+use JSON::PP;
+use Parse::Distname;
+
+sub encode { JSON::PP->new->canonical->pretty->encode(shift) };
+
+unified_diff;
+
+while(<DATA>) {
+ chomp;
+ s/\s*#.+$//;
+ my($file,@ret) = (split(/ +/, $_))[0..3];
+ $ret[2] = $ret[2] ? 'developer' : 'released';
+ my $d = Parse::Distname->new($file);
+ my @tst = ($d->dist, $d->version, $d->maturity);
+ eq_or_diff(encode(\@tst), encode(\@ret), "output for $file");
+}
+
+done_testing;
+
+__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_ft2 0.1.0 # FIXED
+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 # FIXED
+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 1997Sep18 # FIXED
+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 # FIXED
+apache.authnetldap.018.tar.gz apache.authnetldap 018 # FIXED
+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 # FIXED
+HTML-Macro.1-13.tgz HTML-Macro 1-13 # FIXED
+HTML-Macro.1-18.tgz HTML-Macro 1-18 # FIXED
+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 # FIXED
+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/compat/path.t b/t/compat/path.t
new file mode 100644
index 0000000..9dcb6a2
--- /dev/null
+++ b/t/compat/path.t
@@ -0,0 +1,299 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Differences;
+use JSON::PP;
+use Parse::Distname;
+
+local $/ ="";
+
+unified_diff;
+sub encode { JSON::PP->new->canonical->pretty->encode(shift) }
+
+while(<DATA>) {
+ chomp;
+ s/^#[^\n]+\n//s;
+ my($file,%exp) = split(/[ \n]+/, $_);
+ $exp{pathname} = $file;
+ my $d = Parse::Distname->new($file);
+ my %got = $d->properties;
+ while (my($k, $v) = each %got) {
+ is($d->$k(), $v);
+ }
+ eq_or_diff(encode(\%got), encode(\%exp));
+}
+
+done_testing;
+
+__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
+
+# CHANGED
+JWILLIAMS/MasonX-Lexer-MSP-0.02.tar.gz
+ cpanid JWILLIAMS
+ filename 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
+
diff --git a/xt/walk_through.t b/xt/walk_through.t
new file mode 100644
index 0000000..be0eb57
--- /dev/null
+++ b/xt/walk_through.t
@@ -0,0 +1,2931 @@
+use strict;
+use warnings;
+use Test::More;
+use File::Find;
+use Parse::Distname;
+
+my $cpan_mirror;
+BEGIN {
+ $cpan_mirror = $ENV{TEST_CPAN_MIRROR}
+ or plan skip_all => "requires \$ENV{TEST_CPAN_MIRROR} to test";
+
+ -d "$cpan_mirror/authors/id/"
+ or plan skip_all => "\$ENV{TEST_CPAN_MIRROR} seems not a CPAN mirror";
+
+ eval "use CPAN::DistnameInfo 0.12; 1"
+ or plan skip_all => "requires CPAN::DistnameInfo to compare";
+}
+
+my %KnownDiff;
+{
+ local $/ = "";
+ while(<DATA>) {
+ s/(?:\015\012|\015|\012)/\n/sg;
+ s/\A#[^\n]*\n//sg;
+ my ($file, $diff) = split "\n", $_, 2;
+ chomp $file; chomp $diff;
+ $file =~ s/\s*\(.+$//; # remove year info
+ $KnownDiff{$file} = $diff;
+ }
+}
+
+find({
+ wanted => sub {
+ my $file = $File::Find::name;
+ return unless -f $file;
+ return unless $file =~ /$Parse::Distname::SUFFRE/i;
+ my $cpan_path = $file;
+ $cpan_path =~ s|^.+authors/id/||;
+
+ my %cd = CPAN::DistnameInfo->new($cpan_path)->properties;
+ my %pd = Parse::Distname->new($cpan_path)->properties;
+
+ # ignore spammers
+ return if $pd{cpanid} =~ /^(?:DOCRIVERS|FULLHQ|ULTRAHD)$/;
+
+ my $ok = 1;
+ my $diff = '';
+ for my $key (sort keys %cd) {
+ if (defined $cd{$key}) {
+ if (defined $pd{$key}) {
+ if ($cd{$key} eq $pd{$key}) {
+ # OK
+ $diff .= <<"DIFF";
+ "$key": "$cd{$key}",
+DIFF
+ } else {
+ $diff .= <<"DIFF";
+- "$key": "$cd{$key}",
++ "$key": "$pd{$key}",
+DIFF
+ $ok = 0;
+ }
+ } else {
+ $diff .= <<"DIFF";
+- "$key": "$cd{$key}",
++ "$key": null,
+DIFF
+ $ok = 0;
+ }
+ }
+ elsif (defined $pd{$key}) {
+ $diff .= <<"DIFF";
+- "$key": null,
++ "$key": "$pd{$key}",
+DIFF
+ $ok = 0;
+ }
+ else {
+ # both are undef; OK
+ $diff .= <<"DIFF";
+ "$key": null,
+DIFF
+ }
+ }
+
+ $diff =~ s/(?:\015\012|\015|\012)/\n/gs;
+ chomp $diff;
+
+ if ($ok) {
+ pass $file;
+ } else {
+ SKIP: {
+ skip "not portable", 1 if $^O eq 'MSWin32' and $cpan_path =~ /\.\\/;
+ if (!$KnownDiff{$cpan_path} or $diff ne $KnownDiff{$cpan_path}) {
+ my $mtime = (stat($file))[9];
+ my $year = (localtime($mtime))[5] + 1900;
+ print STDERR "$cpan_path ($year)\n$diff\n\n";
+ fail $file;
+ } else {
+ pass $file;
+ }
+ }
+ }
+ },
+ no_chdir => 1,
+}, "$cpan_mirror/authors/id/");
+
+done_testing;
+
+__DATA__
+D/DP/DPCHRIST/Math-TriangularNumbers-r0_03.tar.gz (2005)
+ "cpanid": "DPCHRIST",
+- "dist": "Math-TriangularNumbers-r",
++ "dist": "Math-TriangularNumbers",
+ "distvname": "Math-TriangularNumbers-r0_03",
+ "extension": "tar.gz",
+ "filename": "Math-TriangularNumbers-r0_03.tar.gz",
+ "maturity": "released",
+ "pathname": "D/DP/DPCHRIST/Math-TriangularNumbers-r0_03.tar.gz",
+- "version": "0_03",
++ "version": "r0_03",
+
+D/DP/DPCHRIST/Math-TriangularNumbers-r0_02.tar.gz (2005)
+ "cpanid": "DPCHRIST",
+- "dist": "Math-TriangularNumbers-r",
++ "dist": "Math-TriangularNumbers",
+ "distvname": "Math-TriangularNumbers-r0_02",
+ "extension": "tar.gz",
+ "filename": "Math-TriangularNumbers-r0_02.tar.gz",
+ "maturity": "released",
+ "pathname": "D/DP/DPCHRIST/Math-TriangularNumbers-r0_02.tar.gz",
+- "version": "0_02",
++ "version": "r0_02",
+
+H/HO/HOLCAPEK/0.1.tar.gz (2017)
+ "cpanid": "HOLCAPEK",
+- "dist": "0.1",
++ "dist": "",
+ "distvname": "0.1",
+ "extension": "tar.gz",
+ "filename": "0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "H/HO/HOLCAPEK/0.1.tar.gz",
+- "version": null,
++ "version": "0.1",
+
+H/HW/HWAT/0.02.tar.gz (2014)
+ "cpanid": "HWAT",
+- "dist": "0.02",
++ "dist": "",
+ "distvname": "0.02",
+ "extension": "tar.gz",
+ "filename": "0.02.tar.gz",
+ "maturity": "released",
+ "pathname": "H/HW/HWAT/0.02.tar.gz",
+- "version": null,
++ "version": "0.02",
+
+H/HA/HALLORAN/PRIMERVIEWv3.zip (2017)
+ "cpanid": "HALLORAN",
+- "dist": "PRIMERVIEWv",
++ "dist": "PRIMERVIEW",
+ "distvname": "PRIMERVIEWv3",
+ "extension": "zip",
+ "filename": "PRIMERVIEWv3.zip",
+ "maturity": "released",
+ "pathname": "H/HA/HALLORAN/PRIMERVIEWv3.zip",
+- "version": "3",
++ "version": "v3",
+
+H/HA/HALLORAN/fastQ_brewv1.0.3.zip (2017)
+ "cpanid": "HALLORAN",
+- "dist": "fastQ_brewv",
++ "dist": "fastQ_brew",
+ "distvname": "fastQ_brewv1.0.3",
+ "extension": "zip",
+ "filename": "fastQ_brewv1.0.3.zip",
+ "maturity": "released",
+ "pathname": "H/HA/HALLORAN/fastQ_brewv1.0.3.zip",
+- "version": "1.0.3",
++ "version": "v1.0.3",
+
+H/HA/HARPREET/XMS-MotifSetv1.0.tar.gz (2010)
+ "cpanid": "HARPREET",
+- "dist": "XMS-MotifSetv",
++ "dist": "XMS-MotifSet",
+ "distvname": "XMS-MotifSetv1.0",
+ "extension": "tar.gz",
+ "filename": "XMS-MotifSetv1.0.tar.gz",
+ "maturity": "released",
+ "pathname": "H/HA/HARPREET/XMS-MotifSetv1.0.tar.gz",
+- "version": "1.0",
++ "version": "v1.0",
+
+O/OP/OPSVIEW/Opsview-Performanceparsing-1-TRIAL.tar.gz (2013)
+ "cpanid": "OPSVIEW",
+- "dist": "Opsview-Performanceparsing-1-TRIAL",
++ "dist": "Opsview-Performanceparsing",
+ "distvname": "Opsview-Performanceparsing-1-TRIAL",
+ "extension": "tar.gz",
+ "filename": "Opsview-Performanceparsing-1-TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "O/OP/OPSVIEW/Opsview-Performanceparsing-1-TRIAL.tar.gz",
+- "version": null,
++ "version": "1-TRIAL",
+
+O/ON/ONEONETWO/Array-KeepGrepped-2-TRIAL.tar.gz (2013)
+ "cpanid": "ONEONETWO",
+- "dist": "Array-KeepGrepped-2-TRIAL",
++ "dist": "Array-KeepGrepped",
+ "distvname": "Array-KeepGrepped-2-TRIAL",
+ "extension": "tar.gz",
+ "filename": "Array-KeepGrepped-2-TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "O/ON/ONEONETWO/Array-KeepGrepped-2-TRIAL.tar.gz",
+- "version": null,
++ "version": "2-TRIAL",
+
+C/CA/CAFFIEND/font_ft2_0.1.0.tgz (2002)
+ "cpanid": "CAFFIEND",
+- "dist": "font_ft",
++ "dist": "font_ft2",
+ "distvname": "font_ft2_0.1.0",
+ "extension": "tgz",
+ "filename": "font_ft2_0.1.0.tgz",
+ "maturity": "released",
+ "pathname": "C/CA/CAFFIEND/font_ft2_0.1.0.tgz",
+- "version": "2_0.1.0",
++ "version": "0.1.0",
+
+C/CO/COLINO/Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.6.tar.gz
+ "cpanid": "COLINO",
+- "dist": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread",
++ "dist": "Allegro",
+ "distvname": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.6",
+ "extension": "tar.gz",
+ "filename": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.6.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "C/CO/COLINO/Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.6.tar.gz",
+- "version": "5.6",
++ "version": "0.02_0-ppm-MSWin32-x86-multi-thread-5.6",
+
+C/CO/COLINO/Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.8.tar.gz (2004)
+ "cpanid": "COLINO",
+- "dist": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread",
++ "dist": "Allegro",
+ "distvname": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.8",
+ "extension": "tar.gz",
+ "filename": "Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.8.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "C/CO/COLINO/Allegro-0.02_0-ppm-MSWin32-x86-multi-thread-5.8.tar.gz",
+- "version": "5.8",
++ "version": "0.02_0-ppm-MSWin32-x86-multi-thread-5.8",
+
+C/CY/CYCLES/ocharles-Test-Magpie-v0.04-2-g9a8e649.tar.gz (2010)
+ "cpanid": "CYCLES",
+- "dist": "ocharles-Test-Magpie-v0.04",
++ "dist": "ocharles-Test-Magpie",
+ "distvname": "ocharles-Test-Magpie-v0.04-2-g9a8e649",
+ "extension": "tar.gz",
+ "filename": "ocharles-Test-Magpie-v0.04-2-g9a8e649.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CY/CYCLES/ocharles-Test-Magpie-v0.04-2-g9a8e649.tar.gz",
+- "version": "2-g9a8e649",
++ "version": "v0.04-2-g9a8e649",
+
+C/CD/CDONLEY/netldapapi-140-winnt.zip (1998)
+ "cpanid": "CDONLEY",
+- "dist": "netldapapi-140-winnt",
++ "dist": "netldapapi",
+ "distvname": "netldapapi-140-winnt",
+ "extension": "zip",
+ "filename": "netldapapi-140-winnt.zip",
+ "maturity": "released",
+ "pathname": "C/CD/CDONLEY/netldapapi-140-winnt.zip",
+- "version": null,
++ "version": "140-winnt",
+
+C/CD/CDONLEY/netldapapi-139a-winnt.zip (1997)
+ "cpanid": "CDONLEY",
+- "dist": "netldapapi-139a-winnt",
++ "dist": "netldapapi",
+ "distvname": "netldapapi-139a-winnt",
+ "extension": "zip",
+ "filename": "netldapapi-139a-winnt.zip",
+ "maturity": "released",
+ "pathname": "C/CD/CDONLEY/netldapapi-139a-winnt.zip",
+- "version": null,
++ "version": "139a-winnt",
+
+C/CD/CDRAKE/Crypt-MatrixSSL3.tar.gz (2012)
+ "cpanid": "CDRAKE",
+- "dist": "Crypt",
++ "dist": "Crypt-MatrixSSL3",
+ "distvname": "Crypt-MatrixSSL3",
+ "extension": "tar.gz",
+ "filename": "Crypt-MatrixSSL3.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CD/CDRAKE/Crypt-MatrixSSL3.tar.gz",
+- "version": "MatrixSSL3",
++ "version": null,
+
+C/CR/CRLCU/v0.1.tar.gz (2016)
+ "cpanid": "CRLCU",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.1",
+ "extension": "tar.gz",
+ "filename": "v0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CR/CRLCU/v0.1.tar.gz",
+- "version": "0.1",
++ "version": "v0.1",
+
+C/CN/CNANDOR/DProf-19990108-bin-1-Mac.tgz (1999)
+ "cpanid": "CNANDOR",
+- "dist": "DProf-19990108-bin-1-Mac",
++ "dist": "DProf",
+ "distvname": "DProf-19990108-bin-1-Mac",
+ "extension": "tgz",
+ "filename": "DProf-19990108-bin-1-Mac.tgz",
+ "maturity": "released",
+ "pathname": "C/CN/CNANDOR/DProf-19990108-bin-1-Mac.tgz",
+- "version": null,
++ "version": "19990108-bin-1-Mac",
+
+C/CN/CNANDOR/glue.19990522.tar.gz (1999)
+ "cpanid": "CNANDOR",
+ "dist": "glue",
+ "distvname": "glue.19990522",
+ "extension": "tar.gz",
+ "filename": "glue.19990522.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CN/CNANDOR/glue.19990522.tar.gz",
+- "version": ".19990522",
++ "version": "19990522",
+
+C/CN/CNANDOR/glue.19990622.tar.gz (1999)
+ "cpanid": "CNANDOR",
+ "dist": "glue",
+ "distvname": "glue.19990622",
+ "extension": "tar.gz",
+ "filename": "glue.19990622.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CN/CNANDOR/glue.19990622.tar.gz",
+- "version": ".19990622",
++ "version": "19990622",
+
+C/CS/CSANDEEP/0.1.1.tar.gz (2018)
+ "cpanid": "CSANDEEP",
+- "dist": "0.1.1",
++ "dist": "",
+ "distvname": "0.1.1",
+ "extension": "tar.gz",
+ "filename": "0.1.1.tar.gz",
+ "maturity": "released",
+ "pathname": "C/CS/CSANDEEP/0.1.1.tar.gz",
+- "version": null,
++ "version": "0.1.1",
+
+T/TQ/TQISJIM/BerkeleyDB_Locks_0_0_1.tar.gz (2003)
+ "cpanid": "TQISJIM",
+ "dist": "BerkeleyDB_Locks",
+ "distvname": "BerkeleyDB_Locks_0_0_1",
+ "extension": "tar.gz",
+ "filename": "BerkeleyDB_Locks_0_0_1.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "T/TQ/TQISJIM/BerkeleyDB_Locks_0_0_1.tar.gz",
+ "version": "0_0_1",
+
+T/TE/TEODESIAN/v1.25.tar.gz (2018)
+ "cpanid": "TEODESIAN",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.25",
+ "extension": "tar.gz",
+ "filename": "v1.25.tar.gz",
+ "maturity": "released",
+ "pathname": "T/TE/TEODESIAN/v1.25.tar.gz",
+- "version": "1.25",
++ "version": "v1.25",
+
+T/TI/TIMA/0.21.zip (2003)
+ "cpanid": "TIMA",
+- "dist": "0.21",
++ "dist": "",
+ "distvname": "0.21",
+ "extension": "zip",
+ "filename": "0.21.zip",
+ "maturity": "released",
+ "pathname": "T/TI/TIMA/0.21.zip",
+- "version": null,
++ "version": "0.21",
+
+T/TI/TIMB/perl5.004_04-m2.tar.gz (1998)
+ "cpanid": "TIMB",
+ "dist": "perl",
+ "distvname": "perl5.004_04-m2",
+ "extension": "tar.gz",
+ "filename": "perl5.004_04-m2.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "T/TI/TIMB/perl5.004_04-m2.tar.gz",
+ "version": "5.004_04-m2",
+
+T/TI/TIMB/perl5.004_04-m4.tar.gz (1998)
+ "cpanid": "TIMB",
+ "dist": "perl",
+ "distvname": "perl5.004_04-m4",
+ "extension": "tar.gz",
+ "filename": "perl5.004_04-m4.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "T/TI/TIMB/perl5.004_04-m4.tar.gz",
+ "version": "5.004_04-m4",
+
+T/TI/TIMB/perl5.004_04-m3.tar.gz (1998)
+ "cpanid": "TIMB",
+ "dist": "perl",
+ "distvname": "perl5.004_04-m3",
+ "extension": "tar.gz",
+ "filename": "perl5.004_04-m3.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "T/TI/TIMB/perl5.004_04-m3.tar.gz",
+ "version": "5.004_04-m3",
+
+T/TU/TURNERJW/LoadHtml.5_0.tar.gz (2001)
+ "cpanid": "TURNERJW",
+ "dist": "LoadHtml",
+ "distvname": "LoadHtml.5_0",
+ "extension": "tar.gz",
+ "filename": "LoadHtml.5_0.tar.gz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERJW/LoadHtml.5_0.tar.gz",
+- "version": ".5_0",
++ "version": "5_0",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.31.09-Nov_16-09_00.tgz (2009)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.31.09-Nov_16",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.31.09-Nov_16-09_00",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.31.09-Nov_16-09_00.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.31.09-Nov_16-09_00.tgz",
+- "version": "09_00",
++ "version": "0.31.09-Nov_16-09_00",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32.10-Feb_09-12_16.tgz (2010)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Feb_09",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Feb_09-12_16",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Feb_09-12_16.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32.10-Feb_09-12_16.tgz",
+- "version": "12_16",
++ "version": "0.32.10-Feb_09-12_16",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.30.09-Oct_08-07_09.tgz (2009)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.30.09-Oct_08",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.30.09-Oct_08-07_09",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.30.09-Oct_08-07_09.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.30.09-Oct_08-07_09.tgz",
+- "version": "07_09",
++ "version": "0.30.09-Oct_08-07_09",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32_Feb-26-2013.tgz (2013)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb-26-2013",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb-26-2013.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32_Feb-26-2013.tgz",
+- "version": "262013",
++ "version": "0.32_Feb-26-2013",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32_Feb-27-2013.tgz (2013)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb-27-2013",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.32_Feb-27-2013.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32_Feb-27-2013.tgz",
+- "version": "272013",
++ "version": "0.32_Feb-27-2013",
+
+T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32.10-Sep_09-08_10.tgz (2010)
+ "cpanid": "TURNERMM",
+- "dist": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Sep_09",
++ "dist": "HTML-WikiConverter-DokuWikiFCK",
+ "distvname": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Sep_09-08_10",
+ "extension": "tgz",
+ "filename": "HTML-WikiConverter-DokuWikiFCK-0.32.10-Sep_09-08_10.tgz",
+ "maturity": "released",
+ "pathname": "T/TU/TURNERMM/HTML-WikiConverter-DokuWikiFCK-0.32.10-Sep_09-08_10.tgz",
+- "version": "08_10",
++ "version": "0.32.10-Sep_09-08_10",
+
+T/TZ/TZADIKV/-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "TZADIKV",
+- "dist": "-withoutworldwriteables",
++ "dist": "",
+ "distvname": "-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "T/TZ/TZADIKV/-withoutworldwriteables.tar.gz",
+ "version": null,
+
+Y/YA/YAKEX/Software-License-Boost_1_0-v0.0.1.tar.gz (2013)
+ "cpanid": "YAKEX",
+- "dist": "Software-License-Boost",
++ "dist": "Software-License-Boost_1_0",
+ "distvname": "Software-License-Boost_1_0-v0.0.1",
+ "extension": "tar.gz",
+ "filename": "Software-License-Boost_1_0-v0.0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "Y/YA/YAKEX/Software-License-Boost_1_0-v0.0.1.tar.gz",
+- "version": "1_0-v0.0.1",
++ "version": "v0.0.1",
+
+I/IL/ILYAZ/MathPari_a3.tar.gz (1995)
+ "cpanid": "ILYAZ",
+- "dist": "MathPari_a",
++ "dist": "MathPari",
+ "distvname": "MathPari_a3",
+ "extension": "tar.gz",
+ "filename": "MathPari_a3.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/MathPari_a3.tar.gz",
+- "version": "3",
++ "version": "a3",
+
+I/IL/ILYAZ/os2/perl5os2.patch.zip (1995)
+ "cpanid": "ILYAZ",
+- "dist": "perl5os",
++ "dist": "perl5os2.patch",
+ "distvname": "perl5os2.patch",
+ "extension": "zip",
+ "filename": "os2/perl5os2.patch.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/perl5os2.patch.zip",
+- "version": "2.patch",
++ "version": null,
+
+I/IL/ILYAZ/os2/perl5n.os2.patch.zip (1995)
+ "cpanid": "ILYAZ",
+- "dist": "perl5n.os",
++ "dist": "perl5n.os2.patch",
+ "distvname": "perl5n.os2.patch",
+ "extension": "zip",
+ "filename": "os2/perl5n.os2.patch.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/perl5n.os2.patch.zip",
+- "version": "2.patch",
++ "version": null,
+
+I/IL/ILYAZ/os2/perlos2.fix1.zip (1996)
+ "cpanid": "ILYAZ",
+- "dist": "perlos",
++ "dist": "perlos2.fix",
+ "distvname": "perlos2.fix1",
+ "extension": "zip",
+ "filename": "os2/perlos2.fix1.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/perlos2.fix1.zip",
+- "version": "2.fix1",
++ "version": "1",
+
+I/IL/ILYAZ/os2/perl5.00301.os2.zip (1996)
+ "cpanid": "ILYAZ",
+ "dist": "perl",
+ "distvname": "perl5.00301.os2",
+ "extension": "zip",
+ "filename": "os2/perl5.00301.os2.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "I/IL/ILYAZ/os2/perl5.00301.os2.zip",
+ "version": "5.00301.os2",
+
+I/IL/ILYAZ/os2/perl.500301.os2.bin.zip (1996)
+ "cpanid": "ILYAZ",
+ "dist": "perl",
+ "distvname": "perl.500301.os2.bin",
+ "extension": "zip",
+ "filename": "os2/perl.500301.os2.bin.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/perl.500301.os2.bin.zip",
+- "version": ".500301.os2.bin",
++ "version": "500301.os2.bin",
+
+I/IL/ILYAZ/os2/perl.500201.os2.bin.zip (1996)
+ "cpanid": "ILYAZ",
+ "dist": "perl",
+ "distvname": "perl.500201.os2.bin",
+ "extension": "zip",
+ "filename": "os2/perl.500201.os2.bin.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/perl.500201.os2.bin.zip",
+- "version": ".500201.os2.bin",
++ "version": "500201.os2.bin",
+
+I/IL/ILYAZ/os2/tk/perltk_os2_402_patches.zip (1997)
+ "cpanid": "ILYAZ",
+- "dist": "perltk_os",
++ "dist": "perltk_os2_402_patches",
+ "distvname": "perltk_os2_402_patches",
+ "extension": "zip",
+ "filename": "os2/tk/perltk_os2_402_patches.zip",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/os2/tk/perltk_os2_402_patches.zip",
+- "version": "2_402_patches",
++ "version": null,
+
+I/IL/ILYAZ/modules/MathPari_a3.tar.gz (1995)
+ "cpanid": "ILYAZ",
+- "dist": "MathPari_a",
++ "dist": "MathPari",
+ "distvname": "MathPari_a3",
+ "extension": "tar.gz",
+ "filename": "modules/MathPari_a3.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IL/ILYAZ/modules/MathPari_a3.tar.gz",
+- "version": "3",
++ "version": "a3",
+
+I/IN/INFRACANI/Mail-OpenDKIM-4201-patched.tar.gz (2015)
+ "cpanid": "INFRACANI",
+- "dist": "Mail-OpenDKIM-4201-patched",
++ "dist": "Mail-OpenDKIM",
+ "distvname": "Mail-OpenDKIM-4201-patched",
+ "extension": "tar.gz",
+ "filename": "Mail-OpenDKIM-4201-patched.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IN/INFRACANI/Mail-OpenDKIM-4201-patched.tar.gz",
+- "version": null,
++ "version": "4201-patched",
+
+I/IC/ICIBIN/bins-Message-Passing-Output-MongoDB-1eb79aa.tar.gz (2012)
+ "cpanid": "ICIBIN",
+- "dist": "bins-Message-Passing-Output-MongoDB-1eb79aa",
++ "dist": "bins-Message-Passing-Output-MongoDB",
+ "distvname": "bins-Message-Passing-Output-MongoDB-1eb79aa",
+ "extension": "tar.gz",
+ "filename": "bins-Message-Passing-Output-MongoDB-1eb79aa.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IC/ICIBIN/bins-Message-Passing-Output-MongoDB-1eb79aa.tar.gz",
+- "version": null,
++ "version": "1eb79aa",
+
+I/II/IIS/v1.0.5.tar.gz (2015)
+ "cpanid": "IIS",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.0.5",
+ "extension": "tar.gz",
+ "filename": "v1.0.5.tar.gz",
+ "maturity": "released",
+ "pathname": "I/II/IIS/v1.0.5.tar.gz",
+- "version": "1.0.5",
++ "version": "v1.0.5",
+
+I/IK/IKRUGLOV/v0.6.tar.gz (2014)
+ "cpanid": "IKRUGLOV",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.6",
+ "extension": "tar.gz",
+ "filename": "v0.6.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IK/IKRUGLOV/v0.6.tar.gz",
+- "version": "0.6",
++ "version": "v0.6",
+
+I/IS/ISTEEL/HTMLTMPL.130.tar.gz (2001)
+ "cpanid": "ISTEEL",
+ "dist": "HTMLTMPL",
+ "distvname": "HTMLTMPL.130",
+ "extension": "tar.gz",
+ "filename": "HTMLTMPL.130.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IS/ISTEEL/HTMLTMPL.130.tar.gz",
+- "version": ".130",
++ "version": "130",
+
+I/IS/ISTEEL/HTMLTMPL.131.tar.gz (2001)
+ "cpanid": "ISTEEL",
+ "dist": "HTMLTMPL",
+ "distvname": "HTMLTMPL.131",
+ "extension": "tar.gz",
+ "filename": "HTMLTMPL.131.tar.gz",
+ "maturity": "released",
+ "pathname": "I/IS/ISTEEL/HTMLTMPL.131.tar.gz",
+- "version": ".131",
++ "version": "131",
+
+F/FE/FELIPE/IO-Framed-0.03_TRIAL1.tar.gz (2017)
+ "cpanid": "FELIPE",
+ "dist": "IO-Framed",
+ "distvname": "IO-Framed-0.03_TRIAL1",
+ "extension": "tar.gz",
+ "filename": "IO-Framed-0.03_TRIAL1.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/IO-Framed-0.03_TRIAL1.tar.gz",
+ "version": "0.03_TRIAL1",
+
+F/FE/FELIPE/Crypt-Perl-0.24_TRIAL1.tar.gz (2018)
+ "cpanid": "FELIPE",
+ "dist": "Crypt-Perl",
+ "distvname": "Crypt-Perl-0.24_TRIAL1",
+ "extension": "tar.gz",
+ "filename": "Crypt-Perl-0.24_TRIAL1.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/Crypt-Perl-0.24_TRIAL1.tar.gz",
+ "version": "0.24_TRIAL1",
+
+F/FE/FELIPE/IO-Framed-0.03_TRIAL3.tar.gz (2017)
+ "cpanid": "FELIPE",
+ "dist": "IO-Framed",
+ "distvname": "IO-Framed-0.03_TRIAL3",
+ "extension": "tar.gz",
+ "filename": "IO-Framed-0.03_TRIAL3.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/IO-Framed-0.03_TRIAL3.tar.gz",
+ "version": "0.03_TRIAL3",
+
+F/FE/FELIPE/IO-Framed-0.03_TRIAL2.tar.gz (2017)
+ "cpanid": "FELIPE",
+ "dist": "IO-Framed",
+ "distvname": "IO-Framed-0.03_TRIAL2",
+ "extension": "tar.gz",
+ "filename": "IO-Framed-0.03_TRIAL2.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/IO-Framed-0.03_TRIAL2.tar.gz",
+ "version": "0.03_TRIAL2",
+
+F/FE/FELIPE/Crypt-Perl-0.24_TRIAL2.tar.gz (2018)
+ "cpanid": "FELIPE",
+ "dist": "Crypt-Perl",
+ "distvname": "Crypt-Perl-0.24_TRIAL2",
+ "extension": "tar.gz",
+ "filename": "Crypt-Perl-0.24_TRIAL2.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/Crypt-Perl-0.24_TRIAL2.tar.gz",
+ "version": "0.24_TRIAL2",
+
+F/FE/FELIPE/IO-Framed-0.02_TRIAL.tar.gz (2017)
+ "cpanid": "FELIPE",
+ "dist": "IO-Framed",
+ "distvname": "IO-Framed-0.02_TRIAL",
+ "extension": "tar.gz",
+ "filename": "IO-Framed-0.02_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "F/FE/FELIPE/IO-Framed-0.02_TRIAL.tar.gz",
+ "version": "0.02_TRIAL",
+
+F/FE/FERNANDES/155.zip (2007)
+ "cpanid": "FERNANDES",
+- "dist": "155",
++ "dist": "",
+ "distvname": "155",
+ "extension": "zip",
+ "filename": "155.zip",
+ "maturity": "released",
+ "pathname": "F/FE/FERNANDES/155.zip",
+- "version": null,
++ "version": "155",
+
+F/FI/FIBO/PNI_PROJECT.20091111.zip (2009)
+ "cpanid": "FIBO",
+ "dist": "PNI_PROJECT",
+ "distvname": "PNI_PROJECT.20091111",
+ "extension": "zip",
+ "filename": "PNI_PROJECT.20091111.zip",
+ "maturity": "released",
+ "pathname": "F/FI/FIBO/PNI_PROJECT.20091111.zip",
+- "version": ".20091111",
++ "version": "20091111",
+
+F/FI/FIBO/PNI.20100406.zip (2010)
+ "cpanid": "FIBO",
+ "dist": "PNI",
+ "distvname": "PNI.20100406",
+ "extension": "zip",
+ "filename": "PNI.20100406.zip",
+ "maturity": "released",
+ "pathname": "F/FI/FIBO/PNI.20100406.zip",
+- "version": ".20100406",
++ "version": "20100406",
+
+F/FI/FIBO/PNIProject.20091027.zip (2009)
+ "cpanid": "FIBO",
+ "dist": "PNIProject",
+ "distvname": "PNIProject.20091027",
+ "extension": "zip",
+ "filename": "PNIProject.20091027.zip",
+ "maturity": "released",
+ "pathname": "F/FI/FIBO/PNIProject.20091027.zip",
+- "version": ".20091027",
++ "version": "20091027",
+
+F/FI/FIBO/PNIProject.20091027.zip (2009)
+ "cpanid": "FIBO",
+ "dist": "PNIProject",
+ "distvname": "PNIProject.20091027",
+ "extension": "zip",
+ "filename": "PNIProject.20091027.zip",
+ "maturity": "released",
+ "pathname": "F/FI/FIBO/PNIProject.20091027.zip",
+- "version": ".20091027",
++ "version": "20091027",
+
+Z/ZT/ZTURK/woda-uk-3-402-pm.tar.gz (1999)
+ "cpanid": "ZTURK",
+- "dist": "woda-uk-3-402-pm",
++ "dist": "woda-uk",
+ "distvname": "woda-uk-3-402-pm",
+ "extension": "tar.gz",
+ "filename": "woda-uk-3-402-pm.tar.gz",
+ "maturity": "released",
+ "pathname": "Z/ZT/ZTURK/woda-uk-3-402-pm.tar.gz",
+- "version": null,
++ "version": "3-402-pm",
+
+P/PH/PHLUKS/v1.0.tar.gz (2016)
+ "cpanid": "PHLUKS",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.0",
+ "extension": "tar.gz",
+ "filename": "v1.0.tar.gz",
+ "maturity": "released",
+ "pathname": "P/PH/PHLUKS/v1.0.tar.gz",
+- "version": "1.0",
++ "version": "v1.0",
+
+P/PH/PHAM/v0.06.tar.gz (2016)
+ "cpanid": "PHAM",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.06",
+ "extension": "tar.gz",
+ "filename": "v0.06.tar.gz",
+ "maturity": "released",
+ "pathname": "P/PH/PHAM/v0.06.tar.gz",
+- "version": "0.06",
++ "version": "v0.06",
+
+P/PH/PHAM/v0.05.tar.gz (2015)
+ "cpanid": "PHAM",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.05",
+ "extension": "tar.gz",
+ "filename": "v0.05.tar.gz",
+ "maturity": "released",
+ "pathname": "P/PH/PHAM/v0.05.tar.gz",
+- "version": "0.05",
++ "version": "v0.05",
+
+P/PT/PTILL/mod_perl-1.11_1-apache-1.3b7dev-bin-bindist1-i386-win95-vc5.zip (1998)
+ "cpanid": "PTILL",
+- "dist": "mod_perl-1.11_1-apache",
++ "dist": "mod_perl",
+ "distvname": "mod_perl-1.11_1-apache-1.3b7dev-bin-bindist1-i386-win95-vc5",
+ "extension": "zip",
+ "filename": "mod_perl-1.11_1-apache-1.3b7dev-bin-bindist1-i386-win95-vc5.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PT/PTILL/mod_perl-1.11_1-apache-1.3b7dev-bin-bindist1-i386-win95-vc5.zip",
+- "version": "1.3b7dev-bin-bindist1-i386-win95-vc5",
++ "version": "1.11_1-apache-1.3b7dev-bin-bindist1-i386-win95-vc5",
+
+P/PW/PWBENNETT/Net-IPAddress-Util-2.003_TRIAL.tar.gz (2013)
+ "cpanid": "PWBENNETT",
+ "dist": "Net-IPAddress-Util",
+ "distvname": "Net-IPAddress-Util-2.003_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Net-IPAddress-Util-2.003_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PW/PWBENNETT/Net-IPAddress-Util-2.003_TRIAL.tar.gz",
+ "version": "2.003_TRIAL",
+
+P/PW/PWBENNETT/Net-IPAddress-Util-2.001_TRIAL.tar.gz (2013)
+ "cpanid": "PWBENNETT",
+ "dist": "Net-IPAddress-Util",
+ "distvname": "Net-IPAddress-Util-2.001_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Net-IPAddress-Util-2.001_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PW/PWBENNETT/Net-IPAddress-Util-2.001_TRIAL.tar.gz",
+ "version": "2.001_TRIAL",
+
+P/PW/PWBENNETT/Net-IPAddress-Util-2.002_TRIAL.tar.gz (2013)
+ "cpanid": "PWBENNETT",
+ "dist": "Net-IPAddress-Util",
+ "distvname": "Net-IPAddress-Util-2.002_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Net-IPAddress-Util-2.002_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PW/PWBENNETT/Net-IPAddress-Util-2.002_TRIAL.tar.gz",
+ "version": "2.002_TRIAL",
+
+P/PW/PWBENNETT/Net-IPAddress-Util-2.000_TRIAL.tar.gz (2013)
+ "cpanid": "PWBENNETT",
+ "dist": "Net-IPAddress-Util",
+ "distvname": "Net-IPAddress-Util-2.000_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Net-IPAddress-Util-2.000_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PW/PWBENNETT/Net-IPAddress-Util-2.000_TRIAL.tar.gz",
+ "version": "2.000_TRIAL",
+
+P/PW/PWBENNETT/Net-IPAddress-Util-2.004_TRIAL.tar.gz (2013)
+ "cpanid": "PWBENNETT",
+ "dist": "Net-IPAddress-Util",
+ "distvname": "Net-IPAddress-Util-2.004_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Net-IPAddress-Util-2.004_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PW/PWBENNETT/Net-IPAddress-Util-2.004_TRIAL.tar.gz",
+ "version": "2.004_TRIAL",
+
+P/PF/PFEIFFER/makepp-121020-test.tgz (2012)
+ "cpanid": "PFEIFFER",
+- "dist": "makepp-121020-test",
++ "dist": "makepp",
+ "distvname": "makepp-121020-test",
+ "extension": "tgz",
+ "filename": "makepp-121020-test.tgz",
+ "maturity": "released",
+ "pathname": "P/PF/PFEIFFER/makepp-121020-test.tgz",
+- "version": null,
++ "version": "121020-test",
+
+P/PF/PFEIFFER/makepp-121021-test.tgz (2012)
+ "cpanid": "PFEIFFER",
+- "dist": "makepp-121021-test",
++ "dist": "makepp",
+ "distvname": "makepp-121021-test",
+ "extension": "tgz",
+ "filename": "makepp-121021-test.tgz",
+ "maturity": "released",
+ "pathname": "P/PF/PFEIFFER/makepp-121021-test.tgz",
+- "version": null,
++ "version": "121021-test",
+
+P/PF/PFEIFFER/makepp-121023-test.tgz (2012)
+ "cpanid": "PFEIFFER",
+- "dist": "makepp-121023-test",
++ "dist": "makepp",
+ "distvname": "makepp-121023-test",
+ "extension": "tgz",
+ "filename": "makepp-121023-test.tgz",
+ "maturity": "released",
+ "pathname": "P/PF/PFEIFFER/makepp-121023-test.tgz",
+- "version": null,
++ "version": "121023-test",
+
+P/PF/PFEIFFER/makepp-cvs-100210test.tgz (2010)
+ "cpanid": "PFEIFFER",
+- "dist": "makepp-cvs-100210test",
++ "dist": "makepp-cvs",
+ "distvname": "makepp-cvs-100210test",
+ "extension": "tgz",
+ "filename": "makepp-cvs-100210test.tgz",
+ "maturity": "released",
+ "pathname": "P/PF/PFEIFFER/makepp-cvs-100210test.tgz",
+- "version": null,
++ "version": "100210test",
+
+P/PE/PERLISH/Abjad-withoutworldwriteables.tar.gz (2011)
+ "cpanid": "PERLISH",
+- "dist": "Abjad-withoutworldwriteables",
++ "dist": "Abjad",
+ "distvname": "Abjad-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Abjad-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "P/PE/PERLISH/Abjad-withoutworldwriteables.tar.gz",
+ "version": null,
+
+P/PL/PLOCKABY/v1.0.0.tar.gz (2014)
+ "cpanid": "PLOCKABY",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.0.0",
+ "extension": "tar.gz",
+ "filename": "v1.0.0.tar.gz",
+ "maturity": "released",
+ "pathname": "P/PL/PLOCKABY/v1.0.0.tar.gz",
+- "version": "1.0.0",
++ "version": "v1.0.0",
+
+P/PU/PUSHTAEV/DBIx-Class-Factory-0.01_TRIAL.tar.gz (2015)
+ "cpanid": "PUSHTAEV",
+ "dist": "DBIx-Class-Factory",
+ "distvname": "DBIx-Class-Factory-0.01_TRIAL",
+ "extension": "tar.gz",
+ "filename": "DBIx-Class-Factory-0.01_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PU/PUSHTAEV/DBIx-Class-Factory-0.01_TRIAL.tar.gz",
+ "version": "0.01_TRIAL",
+
+P/PU/PUSHTAEV/DBIx-Class-Factory-TRIAL.tar.gz (2015)
+ "cpanid": "PUSHTAEV",
+- "dist": "DBIx-Class-Factory-TRIAL",
++ "dist": "DBIx-Class-Factory",
+ "distvname": "DBIx-Class-Factory-TRIAL",
+ "extension": "tar.gz",
+ "filename": "DBIx-Class-Factory-TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "P/PU/PUSHTAEV/DBIx-Class-Factory-TRIAL.tar.gz",
+- "version": null,
++ "version": "TRIAL",
+
+U/UL/ULIZAMA/CGI-Application-Muto-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "ULIZAMA",
+- "dist": "CGI-Application-Muto-withoutworldwriteables",
++ "dist": "CGI-Application-Muto",
+ "distvname": "CGI-Application-Muto-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "CGI-Application-Muto-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "U/UL/ULIZAMA/CGI-Application-Muto-withoutworldwriteables.tar.gz",
+ "version": null,
+
+U/UG/UGEXE/Perl6/v0.1.30.tar.gz (2017)
+ "cpanid": "UGEXE",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.1.30",
+ "extension": "tar.gz",
+ "filename": "Perl6/v0.1.30.tar.gz",
+ "maturity": "released",
+ "pathname": "U/UG/UGEXE/Perl6/v0.1.30.tar.gz",
+- "version": "0.1.30",
++ "version": "v0.1.30",
+
+M/MO/MORGOTHII/multiscriptsx.03b.zip (2005)
+ "cpanid": "MORGOTHII",
+- "dist": "multiscriptsx.03b",
++ "dist": "multiscriptsx",
+ "distvname": "multiscriptsx.03b",
+ "extension": "zip",
+ "filename": "multiscriptsx.03b.zip",
+ "maturity": "released",
+ "pathname": "M/MO/MORGOTHII/multiscriptsx.03b.zip",
+- "version": null,
++ "version": "03b",
+
+M/MP/MPERRY/Config-INI-Reader-Encrypted2.tar.gz (2015)
+ "cpanid": "MPERRY",
+- "dist": "Config-INI-Reader",
++ "dist": "Config-INI-Reader-Encrypted",
+ "distvname": "Config-INI-Reader-Encrypted2",
+ "extension": "tar.gz",
+ "filename": "Config-INI-Reader-Encrypted2.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MP/MPERRY/Config-INI-Reader-Encrypted2.tar.gz",
+- "version": "Encrypted2",
++ "version": "2",
+
+M/MA/MARTINB/Xforms4Perl.3.tgz (1996)
+ "cpanid": "MARTINB",
+ "dist": "Xforms4Perl",
+ "distvname": "Xforms4Perl.3",
+ "extension": "tgz",
+ "filename": "Xforms4Perl.3.tgz",
+ "maturity": "released",
+ "pathname": "M/MA/MARTINB/Xforms4Perl.3.tgz",
+- "version": ".3",
++ "version": "3",
+
+M/MA/MARTINB/Xforms4Perl.6.tgz (1997)
+ "cpanid": "MARTINB",
+ "dist": "Xforms4Perl",
+ "distvname": "Xforms4Perl.6",
+ "extension": "tgz",
+ "filename": "Xforms4Perl.6.tgz",
+ "maturity": "released",
+ "pathname": "M/MA/MARTINB/Xforms4Perl.6.tgz",
+- "version": ".6",
++ "version": "6",
+
+M/MA/MARTINB/Xforms4Perl.5.tgz (1997)
+ "cpanid": "MARTINB",
+ "dist": "Xforms4Perl",
+ "distvname": "Xforms4Perl.5",
+ "extension": "tgz",
+ "filename": "Xforms4Perl.5.tgz",
+ "maturity": "released",
+ "pathname": "M/MA/MARTINB/Xforms4Perl.5.tgz",
+- "version": ".5",
++ "version": "5",
+
+M/MA/MAXDB/DBD-MaxDB-7_5_00_26.tar.gz (2005)
+ "cpanid": "MAXDB",
+ "dist": "DBD-MaxDB",
+ "distvname": "DBD-MaxDB-7_5_00_26",
+ "extension": "tar.gz",
+ "filename": "DBD-MaxDB-7_5_00_26.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "M/MA/MAXDB/DBD-MaxDB-7_5_00_26.tar.gz",
+ "version": "7_5_00_26",
+
+M/MA/MARSAB/Bundle-FinalTest3.tar.gz (2011)
+ "cpanid": "MARSAB",
+- "dist": "Bundle",
++ "dist": "Bundle-FinalTest",
+ "distvname": "Bundle-FinalTest3",
+ "extension": "tar.gz",
+ "filename": "Bundle-FinalTest3.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARSAB/Bundle-FinalTest3.tar.gz",
+- "version": "FinalTest3",
++ "version": "3",
+
+M/MA/MARSAB/Bundle-FinalTest5.tar.gz (2011)
+ "cpanid": "MARSAB",
+- "dist": "Bundle",
++ "dist": "Bundle-FinalTest",
+ "distvname": "Bundle-FinalTest5",
+ "extension": "tar.gz",
+ "filename": "Bundle-FinalTest5.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARSAB/Bundle-FinalTest5.tar.gz",
+- "version": "FinalTest5",
++ "version": "5",
+
+M/MA/MARSAB/Bundle-FinalTest4.tar.gz (2011)
+ "cpanid": "MARSAB",
+- "dist": "Bundle",
++ "dist": "Bundle-FinalTest",
+ "distvname": "Bundle-FinalTest4",
+ "extension": "tar.gz",
+ "filename": "Bundle-FinalTest4.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARSAB/Bundle-FinalTest4.tar.gz",
+- "version": "FinalTest4",
++ "version": "4",
+
+M/MA/MARSAB/Test123.pm.tar.gz (2011)
+ "cpanid": "MARSAB",
+- "dist": "Test",
++ "dist": "Test123",
+ "distvname": "Test123.pm",
+ "extension": "tar.gz",
+ "filename": "Test123.pm.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARSAB/Test123.pm.tar.gz",
+- "version": "123.pm",
++ "version": null,
+
+M/MA/MARSAB/Bundle-FinalTest2.tar.gz (2011)
+ "cpanid": "MARSAB",
+- "dist": "Bundle",
++ "dist": "Bundle-FinalTest",
+ "distvname": "Bundle-FinalTest2",
+ "extension": "tar.gz",
+ "filename": "Bundle-FinalTest2.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARSAB/Bundle-FinalTest2.tar.gz",
+- "version": "FinalTest2",
++ "version": "2",
+
+M/MA/MARCEL/-0.01.tar.gz (2008)
+ "cpanid": "MARCEL",
+- "dist": "-0.01",
++ "dist": "",
+ "distvname": "-0.01",
+ "extension": "tar.gz",
+ "filename": "-0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MA/MARCEL/-0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+M/ML/MLARUE/0.1_02.zip (2014)
+ "cpanid": "MLARUE",
+- "dist": "0.1_02",
++ "dist": "",
+ "distvname": "0.1_02",
+ "extension": "zip",
+ "filename": "0.1_02.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "M/ML/MLARUE/0.1_02.zip",
+- "version": null,
++ "version": "0.1_02",
+
+M/MM/MMUSGROVE/v0.09.tar.gz (2014)
+ "cpanid": "MMUSGROVE",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.09",
+ "extension": "tar.gz",
+ "filename": "v0.09.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MM/MMUSGROVE/v0.09.tar.gz",
+- "version": "0.09",
++ "version": "v0.09",
+
+M/MM/MMATHEWS/HTML-Entities-Latin2.pm-0.01.tar.gz (2004)
+ "cpanid": "MMATHEWS",
+- "dist": "HTML-Entities-Latin",
++ "dist": "HTML-Entities-Latin2",
+ "distvname": "HTML-Entities-Latin2.pm-0.01",
+ "extension": "tar.gz",
+ "filename": "HTML-Entities-Latin2.pm-0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MM/MMATHEWS/HTML-Entities-Latin2.pm-0.01.tar.gz",
+- "version": "2.pm-0.01",
++ "version": "0.01",
+
+M/MI/MIKEH/mvend203b.tar.gz (1997)
+ "cpanid": "MIKEH",
+- "dist": "mvend203b",
++ "dist": "mvend",
+ "distvname": "mvend203b",
+ "extension": "tar.gz",
+ "filename": "mvend203b.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MI/MIKEH/mvend203b.tar.gz",
+- "version": null,
++ "version": "203b",
+
+M/MI/MIKEB/Spreadsheet-XLSX-0.14_TRIAL.tar.gz (2015)
+ "cpanid": "MIKEB",
+ "dist": "Spreadsheet-XLSX",
+ "distvname": "Spreadsheet-XLSX-0.14_TRIAL",
+ "extension": "tar.gz",
+ "filename": "Spreadsheet-XLSX-0.14_TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "M/MI/MIKEB/Spreadsheet-XLSX-0.14_TRIAL.tar.gz",
+ "version": "0.14_TRIAL",
+
+M/ME/MEWILCOX/apache.authnetldap.018.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authnetldap",
+ "distvname": "apache.authnetldap.018",
+ "extension": "tar.gz",
+ "filename": "apache.authnetldap.018.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authnetldap.018.tar.gz",
+- "version": ".018",
++ "version": "018",
+
+M/ME/MEWILCOX/apache.authnetldap.015.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authnetldap",
+ "distvname": "apache.authnetldap.015",
+ "extension": "tar.gz",
+ "filename": "apache.authnetldap.015.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authnetldap.015.tar.gz",
+- "version": ".015",
++ "version": "015",
+
+M/ME/MEWILCOX/apache.authznetldap.01.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authznetldap",
+ "distvname": "apache.authznetldap.01",
+ "extension": "tar.gz",
+ "filename": "apache.authznetldap.01.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authznetldap.01.tar.gz",
+- "version": ".01",
++ "version": "01",
+
+M/ME/MEWILCOX/apache.authnetldap.016.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authnetldap",
+ "distvname": "apache.authnetldap.016",
+ "extension": "tar.gz",
+ "filename": "apache.authnetldap.016.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authnetldap.016.tar.gz",
+- "version": ".016",
++ "version": "016",
+
+M/ME/MEWILCOX/apache.authznetldap.02.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authznetldap",
+ "distvname": "apache.authznetldap.02",
+ "extension": "tar.gz",
+ "filename": "apache.authznetldap.02.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authznetldap.02.tar.gz",
+- "version": ".02",
++ "version": "02",
+
+M/ME/MEWILCOX/apache.authznetldap.03.tar.gz (2000)
+ "cpanid": "MEWILCOX",
+ "dist": "apache.authznetldap",
+ "distvname": "apache.authznetldap.03",
+ "extension": "tar.gz",
+ "filename": "apache.authznetldap.03.tar.gz",
+ "maturity": "released",
+ "pathname": "M/ME/MEWILCOX/apache.authznetldap.03.tar.gz",
+- "version": ".03",
++ "version": "03",
+
+M/MG/MGV/Gruntmaster-Daemon-5999-TRIAL.tar.gz (2014)
+ "cpanid": "MGV",
+- "dist": "Gruntmaster-Daemon-5999-TRIAL",
++ "dist": "Gruntmaster-Daemon",
+ "distvname": "Gruntmaster-Daemon-5999-TRIAL",
+ "extension": "tar.gz",
+ "filename": "Gruntmaster-Daemon-5999-TRIAL.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "M/MG/MGV/Gruntmaster-Daemon-5999-TRIAL.tar.gz",
+- "version": null,
++ "version": "5999-TRIAL",
+
+M/MS/MSPERL/Angle-Omega-withoutworldwriteables.tar.gz (2011)
+ "cpanid": "MSPERL",
+- "dist": "Angle-Omega-withoutworldwriteables",
++ "dist": "Angle-Omega",
+ "distvname": "Angle-Omega-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Angle-Omega-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MS/MSPERL/Angle-Omega-withoutworldwriteables.tar.gz",
+ "version": null,
+
+M/MS/MSCROGGIN/dbgui_216b.tar.gz (1999)
+ "cpanid": "MSCROGGIN",
+- "dist": "dbgui_216b",
++ "dist": "dbgui",
+ "distvname": "dbgui_216b",
+ "extension": "tar.gz",
+ "filename": "dbgui_216b.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MS/MSCROGGIN/dbgui_216b.tar.gz",
+- "version": null,
++ "version": "216b",
+
+M/MS/MSCROGGIN/dbgui_217b.tar.gz (1999)
+ "cpanid": "MSCROGGIN",
+- "dist": "dbgui_217b",
++ "dist": "dbgui",
+ "distvname": "dbgui_217b",
+ "extension": "tar.gz",
+ "filename": "dbgui_217b.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MS/MSCROGGIN/dbgui_217b.tar.gz",
+- "version": null,
++ "version": "217b",
+
+M/MH/MHCRNL/perl_create_fileV03.zip (2017)
+ "cpanid": "MHCRNL",
+- "dist": "perl_create_fileV",
++ "dist": "perl_create_file",
+ "distvname": "perl_create_fileV03",
+ "extension": "zip",
+ "filename": "perl_create_fileV03.zip",
+ "maturity": "released",
+ "pathname": "M/MH/MHCRNL/perl_create_fileV03.zip",
+- "version": "03",
++ "version": "V03",
+
+M/MH/MHCRNL/CNPclass1.pm.tar.gz (2015)
+ "cpanid": "MHCRNL",
+- "dist": "CNPclass",
++ "dist": "CNPclass1",
+ "distvname": "CNPclass1.pm",
+ "extension": "tar.gz",
+ "filename": "CNPclass1.pm.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MH/MHCRNL/CNPclass1.pm.tar.gz",
+- "version": "1.pm",
++ "version": null,
+
+M/MN/MNIKHIL/0.01.tar.gz (2013)
+ "cpanid": "MNIKHIL",
+- "dist": "0.01",
++ "dist": "",
+ "distvname": "0.01",
+ "extension": "tar.gz",
+ "filename": "0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "M/MN/MNIKHIL/0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+S/SN/SNEEX/HTML_Month.v6a.zip (2002)
+ "cpanid": "SNEEX",
+- "dist": "HTML_Month.v6a",
++ "dist": "HTML_Month",
+ "distvname": "HTML_Month.v6a",
+ "extension": "zip",
+ "filename": "HTML_Month.v6a.zip",
+ "maturity": "released",
+ "pathname": "S/SN/SNEEX/HTML_Month.v6a.zip",
+- "version": null,
++ "version": "v6a",
+
+S/SZ/SZECK/zfilter24b.tar.gz (1997)
+ "cpanid": "SZECK",
+- "dist": "zfilter24b",
++ "dist": "zfilter",
+ "distvname": "zfilter24b",
+ "extension": "tar.gz",
+ "filename": "zfilter24b.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SZ/SZECK/zfilter24b.tar.gz",
+- "version": null,
++ "version": "24b",
+
+S/ST/STEFANOS/Net-SMTP_auth-SSL-withoutworldwriteables.tar.gz (2011)
+ "cpanid": "STEFANOS",
+- "dist": "Net-SMTP_auth-SSL-withoutworldwriteables",
++ "dist": "Net-SMTP_auth-SSL",
+ "distvname": "Net-SMTP_auth-SSL-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Net-SMTP_auth-SSL-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "S/ST/STEFANOS/Net-SMTP_auth-SSL-withoutworldwriteables.tar.gz",
+ "version": null,
+
+S/SH/SHERZODR/CGI-Session3.tar.gz (2002)
+ "cpanid": "SHERZODR",
+- "dist": "CGI",
++ "dist": "CGI-Session",
+ "distvname": "CGI-Session3",
+ "extension": "tar.gz",
+ "filename": "CGI-Session3.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SH/SHERZODR/CGI-Session3.tar.gz",
+- "version": "Session3",
++ "version": "3",
+
+S/SC/SCHIECHEO/v0.2.4.tar.gz (2015)
+ "cpanid": "SCHIECHEO",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.2.4",
+ "extension": "tar.gz",
+ "filename": "v0.2.4.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SC/SCHIECHEO/v0.2.4.tar.gz",
+- "version": "0.2.4",
++ "version": "v0.2.4",
+
+S/SC/SCESANO/0.1.tar.gz (2016)
+ "cpanid": "SCESANO",
+- "dist": "0.1",
++ "dist": "",
+ "distvname": "0.1",
+ "extension": "tar.gz",
+ "filename": "0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SC/SCESANO/0.1.tar.gz",
+- "version": null,
++ "version": "0.1",
+
+S/SB/SBALA/jperl_beta_r1.tar.gz (1998)
+ "cpanid": "SBALA",
+- "dist": "jperl_beta_r",
++ "dist": "jperl_beta",
+ "distvname": "jperl_beta_r1",
+ "extension": "tar.gz",
+ "filename": "jperl_beta_r1.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SB/SBALA/jperl_beta_r1.tar.gz",
+- "version": "1",
++ "version": "r1",
+
+S/SE/SEKIMURA/0.05.tar.gz (2013)
+ "cpanid": "SEKIMURA",
+- "dist": "0.05",
++ "dist": "",
+ "distvname": "0.05",
+ "extension": "tar.gz",
+ "filename": "0.05.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SE/SEKIMURA/0.05.tar.gz",
+- "version": null,
++ "version": "0.05",
+
+S/SE/SETITESUK/setitesuk-Test--Data--Structures-v0.02-0-g2b1e961.tar.gz (2010)
+ "cpanid": "SETITESUK",
+- "dist": "setitesuk-Test--Data--Structures-v0.02",
++ "dist": "setitesuk-Test--Data--Structures",
+ "distvname": "setitesuk-Test--Data--Structures-v0.02-0-g2b1e961",
+ "extension": "tar.gz",
+ "filename": "setitesuk-Test--Data--Structures-v0.02-0-g2b1e961.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SE/SETITESUK/setitesuk-Test--Data--Structures-v0.02-0-g2b1e961.tar.gz",
+- "version": "0-g2b1e961",
++ "version": "v0.02-0-g2b1e961",
+
+S/SI/SIMATIKA/subclustv1_0.tar.gz (2004)
+ "cpanid": "SIMATIKA",
+- "dist": "subclustv",
++ "dist": "subclust",
+ "distvname": "subclustv1_0",
+ "extension": "tar.gz",
+ "filename": "subclustv1_0.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SI/SIMATIKA/subclustv1_0.tar.gz",
+- "version": "1_0",
++ "version": "v1_0",
+
+S/SU/SUMMER/Logic3.pm-1.03.tar.gz (1999)
+ "cpanid": "SUMMER",
+- "dist": "Logic",
++ "dist": "Logic3",
+ "distvname": "Logic3.pm-1.03",
+ "extension": "tar.gz",
+ "filename": "Logic3.pm-1.03.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SU/SUMMER/Logic3.pm-1.03.tar.gz",
+- "version": "3.pm-1.03",
++ "version": "1.03",
+
+S/SA/SARGIE/sequin.01.zip (2000)
+ "cpanid": "SARGIE",
+ "dist": "sequin",
+ "distvname": "sequin.01",
+ "extension": "zip",
+ "filename": "sequin.01.zip",
+ "maturity": "released",
+ "pathname": "S/SA/SARGIE/sequin.01.zip",
+- "version": ".01",
++ "version": "01",
+
+S/SA/SARGIE/sequin.02.zip (2000)
+ "cpanid": "SARGIE",
+ "dist": "sequin",
+ "distvname": "sequin.02",
+ "extension": "zip",
+ "filename": "sequin.02.zip",
+ "maturity": "released",
+ "pathname": "S/SA/SARGIE/sequin.02.zip",
+- "version": ".02",
++ "version": "02",
+
+S/SO/SONNY/DBIx-Class-InflateColumn-S3.tar.gz (2011)
+ "cpanid": "SONNY",
+- "dist": "DBIx-Class-InflateColumn",
++ "dist": "DBIx-Class-InflateColumn-S3",
+ "distvname": "DBIx-Class-InflateColumn-S3",
+ "extension": "tar.gz",
+ "filename": "DBIx-Class-InflateColumn-S3.tar.gz",
+ "maturity": "released",
+ "pathname": "S/SO/SONNY/DBIx-Class-InflateColumn-S3.tar.gz",
+- "version": "S3",
++ "version": null,
+
+S/SO/SOKOLOV/HTML-Macro.1-20.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-20",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-20.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-20.tgz",
+- "version": "20",
++ "version": "1-20",
+
+S/SO/SOKOLOV/HTML-Macro.1-14.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-14",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-14.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-14.tgz",
+- "version": "14",
++ "version": "1-14",
+
+S/SO/SOKOLOV/HTML-Macro.1-19.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-19",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-19.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-19.tgz",
+- "version": "19",
++ "version": "1-19",
+
+S/SO/SOKOLOV/HTML-Macro.1-13.tgz (2001)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-13",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-13.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-13.tgz",
+- "version": "13",
++ "version": "1-13",
+
+S/SO/SOKOLOV/HTML-Macro.1-18.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-18",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-18.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-18.tgz",
+- "version": "18",
++ "version": "1-18",
+
+S/SO/SOKOLOV/HTML-Macro.1-15.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-15",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-15.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-15.tgz",
+- "version": "15",
++ "version": "1-15",
+
+S/SO/SOKOLOV/HTML-Macro.1-17.tgz (2002)
+ "cpanid": "SOKOLOV",
+- "dist": "HTML-Macro.1",
++ "dist": "HTML-Macro",
+ "distvname": "HTML-Macro.1-17",
+ "extension": "tgz",
+ "filename": "HTML-Macro.1-17.tgz",
+ "maturity": "released",
+ "pathname": "S/SO/SOKOLOV/HTML-Macro.1-17.tgz",
+- "version": "17",
++ "version": "1-17",
+
+B/BB/BBARKER/0.01.tar.gz (2015)
+ "cpanid": "BBARKER",
+- "dist": "0.01",
++ "dist": "",
+ "distvname": "0.01",
+ "extension": "tar.gz",
+ "filename": "0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "B/BB/BBARKER/0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+B/BD/BDFOY/weblint++-1.15.tar.gz (2007)
+ "cpanid": "BDFOY",
+- "dist": "weblint",
++ "dist": "weblint++",
+ "distvname": "weblint++-1.15",
+ "extension": "tar.gz",
+ "filename": "weblint++-1.15.tar.gz",
+ "maturity": "released",
+ "pathname": "B/BD/BDFOY/weblint++-1.15.tar.gz",
+- "version": "++-1.15",
++ "version": "1.15",
+
+B/BD/BDFOY/weblint++-1.14.tar.gz (2002)
+ "cpanid": "BDFOY",
+- "dist": "weblint",
++ "dist": "weblint++",
+ "distvname": "weblint++-1.14",
+ "extension": "tar.gz",
+ "filename": "weblint++-1.14.tar.gz",
+ "maturity": "released",
+ "pathname": "B/BD/BDFOY/weblint++-1.14.tar.gz",
+- "version": "++-1.14",
++ "version": "1.14",
+
+B/BM/BMIDD/perl5.004_02-AlphaNTPreComp.tar.gz (1997)
+ "cpanid": "BMIDD",
+ "dist": "perl",
+ "distvname": "perl5.004_02-AlphaNTPreComp",
+ "extension": "tar.gz",
+ "filename": "perl5.004_02-AlphaNTPreComp.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "B/BM/BMIDD/perl5.004_02-AlphaNTPreComp.tar.gz",
+ "version": "5.004_02-AlphaNTPreComp",
+
+E/EJ/EJORDAN/v0.2.1.tar.gz (2014)
+ "cpanid": "EJORDAN",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.2.1",
+ "extension": "tar.gz",
+ "filename": "v0.2.1.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EJ/EJORDAN/v0.2.1.tar.gz",
+- "version": "0.2.1",
++ "version": "v0.2.1",
+
+E/ER/ERWANMAS/v0.10.zip (2018)
+ "cpanid": "ERWANMAS",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.10",
+ "extension": "zip",
+ "filename": "v0.10.zip",
+ "maturity": "released",
+ "pathname": "E/ER/ERWANMAS/v0.10.zip",
+- "version": "0.10",
++ "version": "v0.10",
+
+E/EL/ELCAMLOST/0.01.tar.gz (2016)
+ "cpanid": "ELCAMLOST",
+- "dist": "0.01",
++ "dist": "",
+ "distvname": "0.01",
+ "extension": "tar.gz",
+ "filename": "0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EL/ELCAMLOST/0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+E/ES/ESTRABD/FLAT-Legacy-FA.1.tgz (2006)
+ "cpanid": "ESTRABD",
+ "dist": "FLAT-Legacy-FA",
+ "distvname": "FLAT-Legacy-FA.1",
+ "extension": "tgz",
+ "filename": "FLAT-Legacy-FA.1.tgz",
+ "maturity": "released",
+ "pathname": "E/ES/ESTRABD/FLAT-Legacy-FA.1.tgz",
+- "version": ".1",
++ "version": "1",
+
+E/ES/ESTRABD/0.01.tar.gz (2015)
+ "cpanid": "ESTRABD",
+- "dist": "0.01",
++ "dist": "",
+ "distvname": "0.01",
+ "extension": "tar.gz",
+ "filename": "0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "E/ES/ESTRABD/0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+E/EH/EHOOD/perlSGML.1995Dec08.tar.gz (1995)
+ "cpanid": "EHOOD",
+- "dist": "perlSGML.1995Dec",
++ "dist": "perlSGML",
+ "distvname": "perlSGML.1995Dec08",
+ "extension": "tar.gz",
+ "filename": "perlSGML.1995Dec08.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EH/EHOOD/perlSGML.1995Dec08.tar.gz",
+- "version": "08",
++ "version": "1995Dec08",
+
+E/EH/EHOOD/perlSGML.1997Sep18.tar.gz (1997)
+ "cpanid": "EHOOD",
+- "dist": "perlSGML.1997Sep",
++ "dist": "perlSGML",
+ "distvname": "perlSGML.1997Sep18",
+ "extension": "tar.gz",
+ "filename": "perlSGML.1997Sep18.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EH/EHOOD/perlSGML.1997Sep18.tar.gz",
+- "version": "18",
++ "version": "1997Sep18",
+
+E/EH/EHSAN/Date-Jalali2.tar.gz (2012)
+ "cpanid": "EHSAN",
+- "dist": "Date",
++ "dist": "Date-Jalali",
+ "distvname": "Date-Jalali2",
+ "extension": "tar.gz",
+ "filename": "Date-Jalali2.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EH/EHSAN/Date-Jalali2.tar.gz",
+- "version": "Jalali2",
++ "version": "2",
+
+E/EG/EGOR/Catalyst-Action-SubDomain-withoutworldwriteables.tar.gz (2009)
+ "cpanid": "EGOR",
+- "dist": "Catalyst-Action-SubDomain-withoutworldwriteables",
++ "dist": "Catalyst-Action-SubDomain",
+ "distvname": "Catalyst-Action-SubDomain-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Catalyst-Action-SubDomain-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EG/EGOR/Catalyst-Action-SubDomain-withoutworldwriteables.tar.gz",
+ "version": null,
+
+E/EV/EVANZS/PDF-CreateSimple2.tar.gz (2005)
+ "cpanid": "EVANZS",
+- "dist": "PDF",
++ "dist": "PDF-CreateSimple",
+ "distvname": "PDF-CreateSimple2",
+ "extension": "tar.gz",
+ "filename": "PDF-CreateSimple2.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EV/EVANZS/PDF-CreateSimple2.tar.gz",
+- "version": "CreateSimple2",
++ "version": "2",
+
+E/EF/EFORGEOT/HTML-WikiConverter-Txt2tags-withoutworldwriteables.tar.gz (2013)
+ "cpanid": "EFORGEOT",
+- "dist": "HTML-WikiConverter-Txt2tags-withoutworldwriteables",
++ "dist": "HTML-WikiConverter-Txt2tags",
+ "distvname": "HTML-WikiConverter-Txt2tags-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "HTML-WikiConverter-Txt2tags-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "E/EF/EFORGEOT/HTML-WikiConverter-Txt2tags-withoutworldwriteables.tar.gz",
+ "version": null,
+
+G/GU/GUIMARD/0.16.tar.gz (2016)
+ "cpanid": "GUIMARD",
+- "dist": "0.16",
++ "dist": "",
+ "distvname": "0.16",
+ "extension": "tar.gz",
+ "filename": "0.16.tar.gz",
+ "maturity": "released",
+ "pathname": "G/GU/GUIMARD/0.16.tar.gz",
+- "version": null,
++ "version": "0.16",
+
+G/GF/GFRANKS/JSON-API-v1.0.3-1.tar.gz (2015)
+ "cpanid": "GFRANKS",
+- "dist": "JSON-API-v1.0.3",
++ "dist": "JSON-API",
+ "distvname": "JSON-API-v1.0.3-1",
+ "extension": "tar.gz",
+ "filename": "JSON-API-v1.0.3-1.tar.gz",
+ "maturity": "released",
+ "pathname": "G/GF/GFRANKS/JSON-API-v1.0.3-1.tar.gz",
+- "version": "1",
++ "version": "v1.0.3-1",
+
+G/GS/GSLONDON/parsenative.070425_1.tar.gz (2007)
+ "cpanid": "GSLONDON",
+ "dist": "parsenative",
+ "distvname": "parsenative.070425_1",
+ "extension": "tar.gz",
+ "filename": "parsenative.070425_1.tar.gz",
+ "maturity": "released",
+ "pathname": "G/GS/GSLONDON/parsenative.070425_1.tar.gz",
+- "version": ".070425_1",
++ "version": "070425_1",
+
+G/GS/GSLONDON/iperl.20040205.html.tar.gz (2004)
+ "cpanid": "GSLONDON",
+ "dist": "iperl",
+ "distvname": "iperl.20040205.html",
+ "extension": "tar.gz",
+ "filename": "iperl.20040205.html.tar.gz",
+ "maturity": "released",
+ "pathname": "G/GS/GSLONDON/iperl.20040205.html.tar.gz",
+- "version": ".20040205.html",
++ "version": "20040205.html",
+
+G/GS/GSLONDON/iperl.20040205.zip (2004)
+ "cpanid": "GSLONDON",
+ "dist": "iperl",
+ "distvname": "iperl.20040205",
+ "extension": "zip",
+ "filename": "iperl.20040205.zip",
+ "maturity": "released",
+ "pathname": "G/GS/GSLONDON/iperl.20040205.zip",
+- "version": ".20040205",
++ "version": "20040205",
+
+G/GS/GSAR/perl5.00401-bindist-bc.tar.gz (1997)
+ "cpanid": "GSAR",
+ "dist": "perl",
+ "distvname": "perl5.00401-bindist-bc",
+ "extension": "tar.gz",
+ "filename": "perl5.00401-bindist-bc.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "G/GS/GSAR/perl5.00401-bindist-bc.tar.gz",
+ "version": "5.00401-bindist-bc",
+
+G/GS/GSAR/perl5.00401-bindist02-bc.tar.gz (1997)
+ "cpanid": "GSAR",
+ "dist": "perl",
+ "distvname": "perl5.00401-bindist02-bc",
+ "extension": "tar.gz",
+ "filename": "perl5.00401-bindist02-bc.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "G/GS/GSAR/perl5.00401-bindist02-bc.tar.gz",
+ "version": "5.00401-bindist02-bc",
+
+G/GS/GSM/SNMP-1.8.1-bin-x86-ASPerl5.005_03-515.zip (1999)
+ "cpanid": "GSM",
+- "dist": "SNMP-1.8.1-bin-x86-ASPerl5.005_03",
++ "dist": "SNMP",
+ "distvname": "SNMP-1.8.1-bin-x86-ASPerl5.005_03-515",
+ "extension": "zip",
+ "filename": "SNMP-1.8.1-bin-x86-ASPerl5.005_03-515.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "G/GS/GSM/SNMP-1.8.1-bin-x86-ASPerl5.005_03-515.zip",
+- "version": "515",
++ "version": "1.8.1-bin-x86-ASPerl5.005_03-515",
+
+G/GS/GSM/SNMP-3.1.0-bin-x86-ASPerl5.005_03-515.zip (2000)
+ "cpanid": "GSM",
+- "dist": "SNMP-3.1.0-bin-x86-ASPerl5.005_03",
++ "dist": "SNMP",
+ "distvname": "SNMP-3.1.0-bin-x86-ASPerl5.005_03-515",
+ "extension": "zip",
+ "filename": "SNMP-3.1.0-bin-x86-ASPerl5.005_03-515.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "G/GS/GSM/SNMP-3.1.0-bin-x86-ASPerl5.005_03-515.zip",
+- "version": "515",
++ "version": "3.1.0-bin-x86-ASPerl5.005_03-515",
+
+G/GL/GLITCHMR/v1.2.4.tar.gz (2012)
+ "cpanid": "GLITCHMR",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.2.4",
+ "extension": "tar.gz",
+ "filename": "v1.2.4.tar.gz",
+ "maturity": "released",
+ "pathname": "G/GL/GLITCHMR/v1.2.4.tar.gz",
+- "version": "1.2.4",
++ "version": "v1.2.4",
+
+J/JG/JGOFF/parrot-0_0_7.tgz (2002)
+ "cpanid": "JGOFF",
+ "dist": "parrot",
+ "distvname": "parrot-0_0_7",
+ "extension": "tgz",
+ "filename": "parrot-0_0_7.tgz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JG/JGOFF/parrot-0_0_7.tgz",
+ "version": "0_0_7",
+
+J/JG/JGNI/Locale-CLDR-v0.26.6-TRIAL-1.tar.gz (2014)
+ "cpanid": "JGNI",
+- "dist": "Locale-CLDR-v0.26.6",
++ "dist": "Locale-CLDR",
+ "distvname": "Locale-CLDR-v0.26.6-TRIAL-1",
+ "extension": "tar.gz",
+ "filename": "Locale-CLDR-v0.26.6-TRIAL-1.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JG/JGNI/Locale-CLDR-v0.26.6-TRIAL-1.tar.gz",
+- "version": "TRIAL1",
++ "version": "v0.26.6-TRIAL-1",
+
+J/JG/JGNI/v0.0.1.zip (2014)
+ "cpanid": "JGNI",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.0.1",
+ "extension": "zip",
+ "filename": "v0.0.1.zip",
+ "maturity": "released",
+ "pathname": "J/JG/JGNI/v0.0.1.zip",
+- "version": "0.0.1",
++ "version": "v0.0.1",
+
+J/JG/JGNI/Locale-CLDR-v0.26.10-1.tar.gz (2015)
+ "cpanid": "JGNI",
+- "dist": "Locale-CLDR-v0.26.10",
++ "dist": "Locale-CLDR",
+ "distvname": "Locale-CLDR-v0.26.10-1",
+ "extension": "tar.gz",
+ "filename": "Locale-CLDR-v0.26.10-1.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JG/JGNI/Locale-CLDR-v0.26.10-1.tar.gz",
+- "version": "1",
++ "version": "v0.26.10-1",
+
+J/JG/JGNI/Locale-CLDR-v0.25.5-TRIAL-1.tar.gz (2014)
+ "cpanid": "JGNI",
+- "dist": "Locale-CLDR-v0.25.5",
++ "dist": "Locale-CLDR",
+ "distvname": "Locale-CLDR-v0.25.5-TRIAL-1",
+ "extension": "tar.gz",
+ "filename": "Locale-CLDR-v0.25.5-TRIAL-1.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JG/JGNI/Locale-CLDR-v0.25.5-TRIAL-1.tar.gz",
+- "version": "TRIAL1",
++ "version": "v0.25.5-TRIAL-1",
+
+J/JG/JGNI/Locale-CLDR-v0.26.6-TRIAL-2.tar.gz (2014)
+ "cpanid": "JGNI",
+- "dist": "Locale-CLDR-v0.26.6",
++ "dist": "Locale-CLDR",
+ "distvname": "Locale-CLDR-v0.26.6-TRIAL-2",
+ "extension": "tar.gz",
+ "filename": "Locale-CLDR-v0.26.6-TRIAL-2.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JG/JGNI/Locale-CLDR-v0.26.6-TRIAL-2.tar.gz",
+- "version": "TRIAL2",
++ "version": "v0.26.6-TRIAL-2",
+
+J/JG/JGNI/Locale-CLDR-v0.25.5-TRIAL-0.tar.gz (2014)
+ "cpanid": "JGNI",
+- "dist": "Locale-CLDR-v0.25.5",
++ "dist": "Locale-CLDR",
+ "distvname": "Locale-CLDR-v0.25.5-TRIAL-0",
+ "extension": "tar.gz",
+ "filename": "Locale-CLDR-v0.25.5-TRIAL-0.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JG/JGNI/Locale-CLDR-v0.25.5-TRIAL-0.tar.gz",
+- "version": "TRIAL0",
++ "version": "v0.25.5-TRIAL-0",
+
+J/JU/JULVR/code-unifdef+-0.005.001.tar.gz (2017)
+ "cpanid": "JULVR",
+- "dist": "code-unifdef",
++ "dist": "code-unifdef+",
+ "distvname": "code-unifdef+-0.005.001",
+ "extension": "tar.gz",
+ "filename": "code-unifdef+-0.005.001.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JU/JULVR/code-unifdef+-0.005.001.tar.gz",
+- "version": "+-0.005.001",
++ "version": "0.005.001",
+
+J/JU/JULVR/Parse/Preprocessor/code-unifdef+-0.005.002.tar.gz (2017)
+ "cpanid": "JULVR",
+- "dist": "code-unifdef",
++ "dist": "code-unifdef+",
+ "distvname": "code-unifdef+-0.005.002",
+ "extension": "tar.gz",
+ "filename": "Parse/Preprocessor/code-unifdef+-0.005.002.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JU/JULVR/Parse/Preprocessor/code-unifdef+-0.005.002.tar.gz",
+- "version": "+-0.005.002",
++ "version": "0.005.002",
+
+J/JW/JWHITE/SlideMap_1_2_1.tar.gz (2005)
+ "cpanid": "JWHITE",
+ "dist": "SlideMap",
+ "distvname": "SlideMap_1_2_1",
+ "extension": "tar.gz",
+ "filename": "SlideMap_1_2_1.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JW/JWHITE/SlideMap_1_2_1.tar.gz",
+ "version": "1_2_1",
+
+J/JW/JWHITE/SlideMap_1_2_2.tar.gz (2005)
+ "cpanid": "JWHITE",
+ "dist": "SlideMap",
+ "distvname": "SlideMap_1_2_2",
+ "extension": "tar.gz",
+ "filename": "SlideMap_1_2_2.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JW/JWHITE/SlideMap_1_2_2.tar.gz",
+ "version": "1_2_2",
+
+J/JW/JWIED/HTML-EP-MSWin32.tar.gz (2001)
+ "cpanid": "JWIED",
+- "dist": "HTML-EP",
++ "dist": "HTML-EP-MSWin32",
+ "distvname": "HTML-EP-MSWin32",
+ "extension": "tar.gz",
+ "filename": "HTML-EP-MSWin32.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JW/JWIED/HTML-EP-MSWin32.tar.gz",
+- "version": "MSWin32",
++ "version": null,
+
+J/JO/JONG/BioV2.0.tar.gz (1998)
+ "cpanid": "JONG",
+- "dist": "BioV",
++ "dist": "Bio",
+ "distvname": "BioV2.0",
+ "extension": "tar.gz",
+ "filename": "BioV2.0.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JO/JONG/BioV2.0.tar.gz",
+- "version": "2.0",
++ "version": "V2.0",
+
+J/JO/JOCASA/futils.02Jun96.zip (1996)
+ "cpanid": "JOCASA",
+- "dist": "futils.02Jun",
++ "dist": "futils",
+ "distvname": "futils.02Jun96",
+ "extension": "zip",
+ "filename": "futils.02Jun96.zip",
+ "maturity": "released",
+ "pathname": "J/JO/JOCASA/futils.02Jun96.zip",
+- "version": "96",
++ "version": "02Jun96",
+
+J/JP/JPRIT/ExtUtils-ExCxx-0.02-5_00456.tar.gz (1998)
+ "cpanid": "JPRIT",
+ "dist": "ExtUtils-ExCxx",
+ "distvname": "ExtUtils-ExCxx-0.02-5_00456",
+ "extension": "tar.gz",
+ "filename": "ExtUtils-ExCxx-0.02-5_00456.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JP/JPRIT/ExtUtils-ExCxx-0.02-5_00456.tar.gz",
+ "version": "0.02-5_00456",
+
+J/JP/JPRIT/ExtUtils-ExCxx-0.04-5_00457.tar.gz (1998)
+ "cpanid": "JPRIT",
+ "dist": "ExtUtils-ExCxx",
+ "distvname": "ExtUtils-ExCxx-0.04-5_00457",
+ "extension": "tar.gz",
+ "filename": "ExtUtils-ExCxx-0.04-5_00457.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JP/JPRIT/ExtUtils-ExCxx-0.04-5_00457.tar.gz",
+ "version": "0.04-5_00457",
+
+J/JP/JPRIT/ExtUtils-ExCxx-0.03-5_00456.tar.gz (1998)
+ "cpanid": "JPRIT",
+ "dist": "ExtUtils-ExCxx",
+ "distvname": "ExtUtils-ExCxx-0.03-5_00456",
+ "extension": "tar.gz",
+ "filename": "ExtUtils-ExCxx-0.03-5_00456.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JP/JPRIT/ExtUtils-ExCxx-0.03-5_00456.tar.gz",
+ "version": "0.03-5_00456",
+
+J/JP/JPRIT/ExtUtils-ExCxx-0.01-5_00456.tar.gz (1998)
+ "cpanid": "JPRIT",
+ "dist": "ExtUtils-ExCxx",
+ "distvname": "ExtUtils-ExCxx-0.01-5_00456",
+ "extension": "tar.gz",
+ "filename": "ExtUtils-ExCxx-0.01-5_00456.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "J/JP/JPRIT/ExtUtils-ExCxx-0.01-5_00456.tar.gz",
+ "version": "0.01-5_00456",
+
+J/JP/JPIERCE/0.11.tgz (2002)
+ "cpanid": "JPIERCE",
+- "dist": "0.11",
++ "dist": "",
+ "distvname": "0.11",
+ "extension": "tgz",
+ "filename": "0.11.tgz",
+ "maturity": "released",
+ "pathname": "J/JP/JPIERCE/0.11.tgz",
+- "version": null,
++ "version": "0.11",
+
+J/JB/JBAKER/perl-5.005_02+apache1.3.3+modperl-1.16-bin-bindist1-i386-win32-vc5.zip (1998)
+ "cpanid": "JBAKER",
+- "dist": "perl-5.005_02+apache1.3.3+modperl",
++ "dist": "perl",
+ "distvname": "perl-5.005_02+apache1.3.3+modperl-1.16-bin-bindist1-i386-win32-vc5",
+ "extension": "zip",
+ "filename": "perl-5.005_02+apache1.3.3+modperl-1.16-bin-bindist1-i386-win32-vc5.zip",
+ "maturity": "released",
+ "pathname": "J/JB/JBAKER/perl-5.005_02+apache1.3.3+modperl-1.16-bin-bindist1-i386-win32-vc5.zip",
+- "version": "1.16-bin-bindist1-i386-win32-vc5",
++ "version": "5.005_02+apache1.3.3+modperl-1.16-bin-bindist1-i386-win32-vc5",
+
+J/JK/JKING/thrift/Thrift-v0.11.0-1.tar.gz (2017)
+ "cpanid": "JKING",
+- "dist": "Thrift-v0.11.0",
++ "dist": "Thrift",
+ "distvname": "Thrift-v0.11.0-1",
+ "extension": "tar.gz",
+ "filename": "thrift/Thrift-v0.11.0-1.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JK/JKING/thrift/Thrift-v0.11.0-1.tar.gz",
+- "version": "1",
++ "version": "v0.11.0-1",
+
+J/JC/JCROCHON/Country-Codes-withoutworldwriteables.tar.gz (2013)
+ "cpanid": "JCROCHON",
+- "dist": "Country-Codes-withoutworldwriteables",
++ "dist": "Country-Codes",
+ "distvname": "Country-Codes-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Country-Codes-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JC/JCROCHON/Country-Codes-withoutworldwriteables.tar.gz",
+ "version": null,
+
+J/JR/JRUBIN/FT817COMM-0.9.0_18-1.tar.gz (2014)
+ "cpanid": "JRUBIN",
+- "dist": "FT817COMM-0.9.0_18",
++ "dist": "FT817COMM",
+ "distvname": "FT817COMM-0.9.0_18-1",
+ "extension": "tar.gz",
+ "filename": "FT817COMM-0.9.0_18-1.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JR/JRUBIN/FT817COMM-0.9.0_18-1.tar.gz",
+- "version": "1",
++ "version": "0.9.0_18-1",
+
+J/JR/JROCKWAY/__-0.01.tar.gz (2008)
+ "cpanid": "JROCKWAY",
+- "dist": "__-0.01",
++ "dist": "__",
+ "distvname": "__-0.01",
+ "extension": "tar.gz",
+ "filename": "__-0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JR/JROCKWAY/__-0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+J/JA/JACOBY/v1.33.tar.gz (2016)
+ "cpanid": "JACOBY",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v1.33",
+ "extension": "tar.gz",
+ "filename": "v1.33.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JA/JACOBY/v1.33.tar.gz",
+- "version": "1.33",
++ "version": "v1.33",
+
+J/JA/JALOPEURA/perl_HaikuKits-0.01_20110820-135621.tar.gz (2011)
+ "cpanid": "JALOPEURA",
+- "dist": "perl_HaikuKits-0.01_20110820",
++ "dist": "perl_HaikuKits",
+ "distvname": "perl_HaikuKits-0.01_20110820-135621",
+ "extension": "tar.gz",
+ "filename": "perl_HaikuKits-0.01_20110820-135621.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "J/JA/JALOPEURA/perl_HaikuKits-0.01_20110820-135621.tar.gz",
+- "version": "135621",
++ "version": "0.01_20110820-135621",
+
+J/JA/JAMESR/Dancer-Plugin-SiteMap-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "JAMESR",
+- "dist": "Dancer-Plugin-SiteMap-withoutworldwriteables",
++ "dist": "Dancer-Plugin-SiteMap",
+ "distvname": "Dancer-Plugin-SiteMap-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Dancer-Plugin-SiteMap-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JA/JAMESR/Dancer-Plugin-SiteMap-withoutworldwriteables.tar.gz",
+ "version": null,
+
+J/JS/JSTOWE/Perl6/v0.0.1.tar.gz (2016)
+ "cpanid": "JSTOWE",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.0.1",
+ "extension": "tar.gz",
+ "filename": "Perl6/v0.0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JS/JSTOWE/Perl6/v0.0.1.tar.gz",
+- "version": "0.0.1",
++ "version": "v0.0.1",
+
+J/JS/JSTOWE/Perl6/v0.0.1.tar.gzEuclideanRhythm-0.0.1.tar.gz (2016)
+ "cpanid": "JSTOWE",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.0.1.tar.gzEuclideanRhythm-0.0.1",
+ "extension": "tar.gz",
+ "filename": "Perl6/v0.0.1.tar.gzEuclideanRhythm-0.0.1.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JS/JSTOWE/Perl6/v0.0.1.tar.gzEuclideanRhythm-0.0.1.tar.gz",
+- "version": "0.0.1.tar.gzEuclideanRhythm-0.0.1",
++ "version": "v0.0.1.tar.gzEuclideanRhythm-0.0.1",
+
+J/JI/JIMI/.\Tk-Markdown-withoutworldwriteables.tar.gz (2013)
+ "cpanid": "JIMI",
+- "dist": ".\Tk-Markdown-withoutworldwriteables",
++ "dist": "Tk-Markdown",
+- "distvname": ".\Tk-Markdown-withoutworldwriteables",
++ "distvname": "Tk-Markdown-withoutworldwriteables",
+ "extension": "tar.gz",
+- "filename": ".\Tk-Markdown-withoutworldwriteables.tar.gz",
++ "filename": "Tk-Markdown-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JI/JIMI/.\Tk-Markdown-withoutworldwriteables.tar.gz",
+ "version": null,
+
+J/JI/JIPIPAYO/0.02.tar.gz (2014)
+ "cpanid": "JIPIPAYO",
+- "dist": "0.02",
++ "dist": "",
+ "distvname": "0.02",
+ "extension": "tar.gz",
+ "filename": "0.02.tar.gz",
+ "maturity": "released",
+ "pathname": "J/JI/JIPIPAYO/0.02.tar.gz",
+- "version": null,
++ "version": "0.02",
+
+L/LO/LOVELLE/v0.01.zip (2015)
+ "cpanid": "LOVELLE",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.01",
+ "extension": "zip",
+ "filename": "v0.01.zip",
+ "maturity": "released",
+ "pathname": "L/LO/LOVELLE/v0.01.zip",
+- "version": "0.01",
++ "version": "v0.01",
+
+L/LB/LBROCARD/perl5.005_03-MAINT22213.tar.gz (2004)
+ "cpanid": "LBROCARD",
+ "dist": "perl",
+ "distvname": "perl5.005_03-MAINT22213",
+ "extension": "tar.gz",
+ "filename": "perl5.005_03-MAINT22213.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "L/LB/LBROCARD/perl5.005_03-MAINT22213.tar.gz",
+ "version": "5.005_03-MAINT22213",
+
+L/LB/LBROCARD/perl5.005_03-MAINT21792.tar.gz (2003)
+ "cpanid": "LBROCARD",
+ "dist": "perl",
+ "distvname": "perl5.005_03-MAINT21792",
+ "extension": "tar.gz",
+ "filename": "perl5.005_03-MAINT21792.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "L/LB/LBROCARD/perl5.005_03-MAINT21792.tar.gz",
+ "version": "5.005_03-MAINT21792",
+
+L/LB/LBROCARD/perl5.005_03-MAINT22178.tar.gz (2004)
+ "cpanid": "LBROCARD",
+ "dist": "perl",
+ "distvname": "perl5.005_03-MAINT22178",
+ "extension": "tar.gz",
+ "filename": "perl5.005_03-MAINT22178.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "L/LB/LBROCARD/perl5.005_03-MAINT22178.tar.gz",
+ "version": "5.005_03-MAINT22178",
+
+L/LM/LMOLNAR/perl5.00503-bin-1-dos-djgpp.zip (1999)
+ "cpanid": "LMOLNAR",
+ "dist": "perl",
+ "distvname": "perl5.00503-bin-1-dos-djgpp",
+ "extension": "zip",
+ "filename": "perl5.00503-bin-1-dos-djgpp.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "L/LM/LMOLNAR/perl5.00503-bin-1-dos-djgpp.zip",
+ "version": "5.00503-bin-1-dos-djgpp",
+
+L/LT/LTBOOTS/test/genomics.01.tar.gz (2005)
+ "cpanid": "LTBOOTS",
+ "dist": "genomics",
+ "distvname": "genomics.01",
+ "extension": "tar.gz",
+ "filename": "test/genomics.01.tar.gz",
+ "maturity": "released",
+ "pathname": "L/LT/LTBOOTS/test/genomics.01.tar.gz",
+- "version": ".01",
++ "version": "01",
+
+L/LG/LGODDARD/Tk-Wizard-2.144_win32_gzip1_3_11.tar.gz (2009)
+ "cpanid": "LGODDARD",
+ "dist": "Tk-Wizard",
+ "distvname": "Tk-Wizard-2.144_win32_gzip1_3_11",
+ "extension": "tar.gz",
+ "filename": "Tk-Wizard-2.144_win32_gzip1_3_11.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "L/LG/LGODDARD/Tk-Wizard-2.144_win32_gzip1_3_11.tar.gz",
+ "version": "2.144_win32_gzip1_3_11",
+
+L/LD/LDS/CGI3.pm-3.01.tar.gz (2000)
+ "cpanid": "LDS",
+- "dist": "CGI",
++ "dist": "CGI3",
+ "distvname": "CGI3.pm-3.01",
+ "extension": "tar.gz",
+ "filename": "CGI3.pm-3.01.tar.gz",
+ "maturity": "released",
+ "pathname": "L/LD/LDS/CGI3.pm-3.01.tar.gz",
+- "version": "3.pm-3.01",
++ "version": "3.01",
+
+R/RH/RHARMAN/v0.8.tar.gz (2018)
+ "cpanid": "RHARMAN",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.8",
+ "extension": "tar.gz",
+ "filename": "v0.8.tar.gz",
+ "maturity": "released",
+ "pathname": "R/RH/RHARMAN/v0.8.tar.gz",
+- "version": "0.8",
++ "version": "v0.8",
+
+R/RE/RENEEB/-0.01.tar.gz (2008)
+ "cpanid": "RENEEB",
+- "dist": "-0.01",
++ "dist": "",
+ "distvname": "-0.01",
+ "extension": "tar.gz",
+ "filename": "-0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "R/RE/RENEEB/-0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+N/NA/NATHANL/Spreadsheet-WriteExcel-WebPivot2.tar.gz (2005)
+ "cpanid": "NATHANL",
+- "dist": "Spreadsheet-WriteExcel",
++ "dist": "Spreadsheet-WriteExcel-WebPivot",
+ "distvname": "Spreadsheet-WriteExcel-WebPivot2",
+ "extension": "tar.gz",
+ "filename": "Spreadsheet-WriteExcel-WebPivot2.tar.gz",
+ "maturity": "released",
+ "pathname": "N/NA/NATHANL/Spreadsheet-WriteExcel-WebPivot2.tar.gz",
+- "version": "WebPivot2",
++ "version": "2",
+
+N/NO/NOBJAS/0.0.3.tar.gz (2009)
+ "cpanid": "NOBJAS",
+- "dist": "0.0.3",
++ "dist": "",
+ "distvname": "0.0.3",
+ "extension": "tar.gz",
+ "filename": "0.0.3.tar.gz",
+ "maturity": "released",
+ "pathname": "N/NO/NOBJAS/0.0.3.tar.gz",
+- "version": null,
++ "version": "0.0.3",
+
+N/NI/NICZERO/niczero-mojar-79e7a4a.tar.gz (2013)
+ "cpanid": "NICZERO",
+- "dist": "niczero-mojar-79e7a4a",
++ "dist": "niczero-mojar",
+ "distvname": "niczero-mojar-79e7a4a",
+ "extension": "tar.gz",
+ "filename": "niczero-mojar-79e7a4a.tar.gz",
+ "maturity": "released",
+ "pathname": "N/NI/NICZERO/niczero-mojar-79e7a4a.tar.gz",
+- "version": null,
++ "version": "79e7a4a",
+
+N/NI/NI-S/perl5.003_02a.tar.gz (1996)
+ "cpanid": "NI-S",
+ "dist": "perl",
+ "distvname": "perl5.003_02a",
+ "extension": "tar.gz",
+ "filename": "perl5.003_02a.tar.gz",
+- "maturity": "developer",
++ "maturity": "released",
+ "pathname": "N/NI/NI-S/perl5.003_02a.tar.gz",
+ "version": "5.003_02a",
+
+A/AR/ARJUNS/Dao-Map-Helper-withoutworldwriteables.tar.gz (2011)
+ "cpanid": "ARJUNS",
+- "dist": "Dao-Map-Helper-withoutworldwriteables",
++ "dist": "Dao-Map-Helper",
+ "distvname": "Dao-Map-Helper-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Dao-Map-Helper-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AR/ARJUNS/Dao-Map-Helper-withoutworldwriteables.tar.gz",
+ "version": null,
+
+A/AR/AREIBENS/PDF-APIx-Layout-0.00_001.MSWin32-5.0.ppm.zip (2005)
+ "cpanid": "AREIBENS",
+- "dist": "PDF-APIx-Layout-0.00_001.MSWin32",
++ "dist": "PDF-APIx-Layout",
+ "distvname": "PDF-APIx-Layout-0.00_001.MSWin32-5.0.ppm",
+ "extension": "zip",
+ "filename": "PDF-APIx-Layout-0.00_001.MSWin32-5.0.ppm.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "A/AR/AREIBENS/PDF-APIx-Layout-0.00_001.MSWin32-5.0.ppm.zip",
+- "version": "5.0.ppm",
++ "version": "0.00_001.MSWin32-5.0.ppm",
+
+A/AR/AREIBENS/PDF-Maki-0.00_04.MSWin32-4.0.ppm.zip (2005)
+ "cpanid": "AREIBENS",
+- "dist": "PDF-Maki-0.00_04.MSWin32",
++ "dist": "PDF-Maki",
+ "distvname": "PDF-Maki-0.00_04.MSWin32-4.0.ppm",
+ "extension": "zip",
+ "filename": "PDF-Maki-0.00_04.MSWin32-4.0.ppm.zip",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "A/AR/AREIBENS/PDF-Maki-0.00_04.MSWin32-4.0.ppm.zip",
+- "version": "4.0.ppm",
++ "version": "0.00_04.MSWin32-4.0.ppm",
+
+A/AR/ARUN/1.6.tar.gz (2016)
+ "cpanid": "ARUN",
+- "dist": "1.6",
++ "dist": "",
+ "distvname": "1.6",
+ "extension": "tar.gz",
+ "filename": "1.6.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AR/ARUN/1.6.tar.gz",
+- "version": null,
++ "version": "1.6",
+
+A/AU/AUTOLIFE/Mojo-UserAgent_t2.tar.gz (2016)
+ "cpanid": "AUTOLIFE",
+- "dist": "Mojo",
++ "dist": "Mojo-UserAgent",
+ "distvname": "Mojo-UserAgent_t2",
+ "extension": "tar.gz",
+ "filename": "Mojo-UserAgent_t2.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AU/AUTOLIFE/Mojo-UserAgent_t2.tar.gz",
+- "version": "UserAgent_t2",
++ "version": "t2",
+
+A/AD/ADARSHTP/-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "ADARSHTP",
+- "dist": "-withoutworldwriteables",
++ "dist": "",
+ "distvname": "-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AD/ADARSHTP/-withoutworldwriteables.tar.gz",
+ "version": null,
+
+A/AP/APEIRON/-0.01.tar.gz (2011)
+ "cpanid": "APEIRON",
+- "dist": "-0.01",
++ "dist": "",
+ "distvname": "-0.01",
+ "extension": "tar.gz",
+ "filename": "-0.01.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AP/APEIRON/-0.01.tar.gz",
+- "version": null,
++ "version": "0.01",
+
+A/AQ/AQUMSIEH/ZooZv0.9a.zip (2004)
+ "cpanid": "AQUMSIEH",
+- "dist": "ZooZv",
++ "dist": "ZooZ",
+ "distvname": "ZooZv0.9a",
+ "extension": "zip",
+ "filename": "ZooZv0.9a.zip",
+ "maturity": "released",
+ "pathname": "A/AQ/AQUMSIEH/ZooZv0.9a.zip",
+- "version": "0.9a",
++ "version": "v0.9a",
+
+A/AQ/AQUMSIEH/ZooZv1.0-RC1.tar.gz (2004)
+ "cpanid": "AQUMSIEH",
+- "dist": "ZooZv",
++ "dist": "ZooZ",
+ "distvname": "ZooZv1.0-RC1",
+ "extension": "tar.gz",
+ "filename": "ZooZv1.0-RC1.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AQ/AQUMSIEH/ZooZv1.0-RC1.tar.gz",
+- "version": "1.0-RC1",
++ "version": "v1.0-RC1",
+
+A/AH/AHERNIT/Class-Injection-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "AHERNIT",
+- "dist": "Class-Injection-withoutworldwriteables",
++ "dist": "Class-Injection",
+ "distvname": "Class-Injection-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Class-Injection-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AH/AHERNIT/Class-Injection-withoutworldwriteables.tar.gz",
+ "version": null,
+
+A/AN/ANANTHBV/OpenXML-Properties-withoutworldwriteables.tar.gz (2012)
+ "cpanid": "ANANTHBV",
+- "dist": "OpenXML-Properties-withoutworldwriteables",
++ "dist": "OpenXML-Properties",
+ "distvname": "OpenXML-Properties-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "OpenXML-Properties-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AN/ANANTHBV/OpenXML-Properties-withoutworldwriteables.tar.gz",
+ "version": null,
+
+A/AN/ANDK/Memo-bindist-any-bin-2-archname-compiler.tar.gz (1998)
+ "cpanid": "ANDK",
+- "dist": "Memo-bindist-any-bin-2-archname-compiler",
++ "dist": "Memo-bindist-any-bin",
+ "distvname": "Memo-bindist-any-bin-2-archname-compiler",
+ "extension": "tar.gz",
+ "filename": "Memo-bindist-any-bin-2-archname-compiler.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AN/ANDK/Memo-bindist-any-bin-2-archname-compiler.tar.gz",
+- "version": null,
++ "version": "2-archname-compiler",
+
+A/AN/ANDK/Memo-readme-bin-01-processor-os-compiler.tar.gz (1998)
+ "cpanid": "ANDK",
+- "dist": "Memo-readme-bin-01-processor-os-compiler",
++ "dist": "Memo-readme-bin",
+ "distvname": "Memo-readme-bin-01-processor-os-compiler",
+ "extension": "tar.gz",
+ "filename": "Memo-readme-bin-01-processor-os-compiler.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AN/ANDK/Memo-readme-bin-01-processor-os-compiler.tar.gz",
+- "version": null,
++ "version": "01-processor-os-compiler",
+
+A/AN/ANDYD/mc_units-5.004_70-01.tar.gz (1998)
+ "cpanid": "ANDYD",
+- "dist": "mc_units-5.004_70",
++ "dist": "mc_units",
+ "distvname": "mc_units-5.004_70-01",
+ "extension": "tar.gz",
+ "filename": "mc_units-5.004_70-01.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "A/AN/ANDYD/mc_units-5.004_70-01.tar.gz",
+- "version": "01",
++ "version": "5.004_70-01",
+
+A/AN/ANDYD/5.003_07-2.U.tar.gz (1996)
+ "cpanid": "ANDYD",
+- "dist": "5.003_07-2.U",
++ "dist": "",
+ "distvname": "5.003_07-2.U",
+ "extension": "tar.gz",
+ "filename": "5.003_07-2.U.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "A/AN/ANDYD/5.003_07-2.U.tar.gz",
+- "version": null,
++ "version": "5.003_07-2.U",
+
+A/AN/ANDYD/mc_units-5.005_00-01.tar.gz (1998)
+ "cpanid": "ANDYD",
+- "dist": "mc_units-5.005_00",
++ "dist": "mc_units",
+ "distvname": "mc_units-5.005_00-01",
+ "extension": "tar.gz",
+ "filename": "mc_units-5.005_00-01.tar.gz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "A/AN/ANDYD/mc_units-5.005_00-01.tar.gz",
+- "version": "01",
++ "version": "5.005_00-01",
+
+A/AN/ANDYJONES/v0.50.tar.gz (2015)
+ "cpanid": "ANDYJONES",
+- "dist": "v",
++ "dist": "",
+ "distvname": "v0.50",
+ "extension": "tar.gz",
+ "filename": "v0.50.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AN/ANDYJONES/v0.50.tar.gz",
+- "version": "0.50",
++ "version": "v0.50",
+
+A/AT/ATTILA/0.1.0.tar.gz (2017)
+ "cpanid": "ATTILA",
+- "dist": "0.1.0",
++ "dist": "",
+ "distvname": "0.1.0",
+ "extension": "tar.gz",
+ "filename": "0.1.0.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AT/ATTILA/0.1.0.tar.gz",
+- "version": null,
++ "version": "0.1.0",
+
+A/AL/ALLEN/0.03.tar.gz (2016)
+ "cpanid": "ALLEN",
+- "dist": "0.03",
++ "dist": "",
+ "distvname": "0.03",
+ "extension": "tar.gz",
+ "filename": "0.03.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AL/ALLEN/0.03.tar.gz",
+- "version": null,
++ "version": "0.03",
+
+A/AL/ALFIE/MySQL--Replication-5953e9a.tar.gz (2011)
+ "cpanid": "ALFIE",
+- "dist": "MySQL--Replication-5953e9a",
++ "dist": "MySQL--Replication",
+ "distvname": "MySQL--Replication-5953e9a",
+ "extension": "tar.gz",
+ "filename": "MySQL--Replication-5953e9a.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AL/ALFIE/MySQL--Replication-5953e9a.tar.gz",
+- "version": null,
++ "version": "5953e9a",
+
+A/AB/ABERNDT/Win32-Snarl-withoutworldwriteables.tar.gz (2010)
+ "cpanid": "ABERNDT",
+- "dist": "Win32-Snarl-withoutworldwriteables",
++ "dist": "Win32-Snarl",
+ "distvname": "Win32-Snarl-withoutworldwriteables",
+ "extension": "tar.gz",
+ "filename": "Win32-Snarl-withoutworldwriteables.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AB/ABERNDT/Win32-Snarl-withoutworldwriteables.tar.gz",
+ "version": null,
+
+A/AC/ACCARDO/1.65.tar.gz (2015)
+ "cpanid": "ACCARDO",
+- "dist": "1.65",
++ "dist": "",
+ "distvname": "1.65",
+ "extension": "tar.gz",
+ "filename": "1.65.tar.gz",
+ "maturity": "released",
+ "pathname": "A/AC/ACCARDO/1.65.tar.gz",
+- "version": null,
++ "version": "1.65",
+
+W/WA/WANGQ/1.0.2.tar.gz (2016)
+ "cpanid": "WANGQ",
+- "dist": "1.0.2",
++ "dist": "",
+ "distvname": "1.0.2",
+ "extension": "tar.gz",
+ "filename": "1.0.2.tar.gz",
+ "maturity": "released",
+ "pathname": "W/WA/WANGQ/1.0.2.tar.gz",
+- "version": null,
++ "version": "1.0.2",
+
+K/KI/KIAVASH/0.05.tar.gz (2017)
+ "cpanid": "KIAVASH",
+- "dist": "0.05",
++ "dist": "",
+ "distvname": "0.05",
+ "extension": "tar.gz",
+ "filename": "0.05.tar.gz",
+ "maturity": "released",
+ "pathname": "K/KI/KIAVASH/0.05.tar.gz",
+- "version": null,
++ "version": "0.05",
+
+C/CB/CBAIL/perl5_003.tar-gz (1996)
+ "cpanid": "CBAIL",
+- "dist": null,
++ "dist": "perl",
+ "filename": "perl5_003.tar-gz",
+ "maturity": "released",
+ "pathname": "C/CB/CBAIL/perl5_003.tar-gz",
+- "version": null,
++ "version": "5_003",
+
+L/LM/LMOLNAR/perl542b.zip (1997)
+ "cpanid": "LMOLNAR",
+- "dist": "perl542b",
++ "dist": "perl",
+ "distvname": "perl542b",
+ "extension": "zip",
+ "filename": "perl542b.zip",
+ "maturity": "released",
+ "pathname": "L/LM/LMOLNAR/perl542b.zip",
+- "version": null,
++ "version": "542b",
+
+H/HM/HMBRAND/mc_units-20060409.tbz (2006)
+ "cpanid": "HMBRAND",
+- "dist": null,
++ "dist": "mc_units",
+ "filename": "mc_units-20060409.tbz",
+ "maturity": "released",
+ "pathname": "H/HM/HMBRAND/mc_units-20060409.tbz",
+- "version": null,
++ "version": "20060409",
+
+H/HM/HMBRAND/mc_units-20061116.tbz (2006)
+ "cpanid": "HMBRAND",
+- "dist": null,
++ "dist": "mc_units",
+ "filename": "mc_units-20061116.tbz",
+ "maturity": "released",
+ "pathname": "H/HM/HMBRAND/mc_units-20061116.tbz",
+- "version": null,
++ "version": "20061116",
+
+H/HM/HMBRAND/DBD-CSV-0.24_02.tbz (2009)
+ "cpanid": "HMBRAND",
+- "dist": null,
++ "dist": "DBD-CSV",
+ "filename": "DBD-CSV-0.24_02.tbz",
+- "maturity": "released",
++ "maturity": "developer",
+ "pathname": "H/HM/HMBRAND/DBD-CSV-0.24_02.tbz",
+- "version": null,
++ "version": "0.24_02",
+
+H/HM/HMBRAND/mc_units-20050201.tbz (2005)
+ "cpanid": "HMBRAND",
+- "dist": null,
++ "dist": "mc_units",
+ "filename": "mc_units-20050201.tbz",
+ "maturity": "released",
+ "pathname": "H/HM/HMBRAND/mc_units-20050201.tbz",
+- "version": null,
++ "version": "20050201",
+
+C/CO/COVINGTON/Log-Reproducible-v0.12.1_a.tar_gz (2014)
+ "cpanid": "COVINGTON",
+- "dist": null,
++ "dist": "Log-Reproducible",
+ "filename": "Log-Reproducible-v0.12.1_a.tar_gz",
+ "maturity": "released",
+ "pathname": "C/CO/COVINGTON/Log-Reproducible-v0.12.1_a.tar_gz",
+- "version": null,
++ "version": "v0.12.1_a",
+
+C/CB/CBAIL/perl5_002_01.tar-gz (1996)
+ "cpanid": "CBAIL",
+- "dist": null,
++ "dist": "perl",
+ "filename": "perl5_002_01.tar-gz",
+ "maturity": "released",
+ "pathname": "C/CB/CBAIL/perl5_002_01.tar-gz",
+- "version": null,
++ "version": "5_002_01",
+
+C/CB/CBAIL/perl5_003_01.tar-gz (1996)
+ "cpanid": "CBAIL",
+- "dist": null,
++ "dist": "perl",
+ "filename": "perl5_003_01.tar-gz",
+ "maturity": "released",
+ "pathname": "C/CB/CBAIL/perl5_003_01.tar-gz",
+- "version": null,
++ "version": "5_003_01",
+
+P/PF/PFAUT/vms-logical-0_4.tar-gz (2009)
+ "cpanid": "PFAUT",
+- "dist": null,
++ "dist": "vms-logical",
+ "filename": "vms-logical-0_4.tar-gz",
+ "maturity": "released",
+ "pathname": "P/PF/PFAUT/vms-logical-0_4.tar-gz",
+- "version": null,
++ "version": "0_4",
+
+H/HY/HYTHM/Perl6/0.0.2.tar.gz (2019)
+ "cpanid": "HYTHM",
+- "dist": "0.0.2",
++ "dist": "",
+ "distvname": "0.0.2",
+ "extension": "tar.gz",
+ "filename": "Perl6/0.0.2.tar.gz",
+ "maturity": "released",
+ "pathname": "H/HY/HYTHM/Perl6/0.0.2.tar.gz",
+- "version": null,
++ "version": "0.0.2",
+
+P/PS/PSIXSTEVE/Perl6/perl6-Math-Polygonsv0.0.3.zip (2019)
+ "cpanid": "PSIXSTEVE",
+- "dist": "perl6-Math-Polygonsv",
++ "dist": "perl6-Math-Polygons",
+ "distvname": "perl6-Math-Polygonsv0.0.3",
+ "extension": "zip",
+ "filename": "Perl6/perl6-Math-Polygonsv0.0.3.zip",
+ "maturity": "released",
+ "pathname": "P/PS/PSIXSTEVE/Perl6/perl6-Math-Polygonsv0.0.3.zip",
+- "version": "0.0.3",
++ "version": "v0.0.3",
+
+A/AD/ADAMS/Watch-Creed-2-online-full-movie-free-download-hd.zip (2018)
+ "cpanid": "ADAMS",
+- "dist": "Watch-Creed-2-online-full-movie-free-download-hd",
++ "dist": "Watch-Creed",
+ "distvname": "Watch-Creed-2-online-full-movie-free-download-hd",
+ "extension": "zip",
+ "filename": "Watch-Creed-2-online-full-movie-free-download-hd.zip",
+ "maturity": "released",
+ "pathname": "A/AD/ADAMS/Watch-Creed-2-online-full-movie-free-download-hd.zip",
+- "version": null,
++ "version": "2-online-full-movie-free-download-hd",
+
+A/AD/ADAMS/Watch-Creed-2-online-full-movie-free-download-uhd.zip (2018)
+ "cpanid": "ADAMS",
+- "dist": "Watch-Creed-2-online-full-movie-free-download-uhd",
++ "dist": "Watch-Creed",
+ "distvname": "Watch-Creed-2-online-full-movie-free-download-uhd",
+ "extension": "zip",
+ "filename": "Watch-Creed-2-online-full-movie-free-download-uhd.zip",
+ "maturity": "released",
+ "pathname": "A/AD/ADAMS/Watch-Creed-2-online-full-movie-free-download-uhd.zip",
+- "version": null,
++ "version": "2-online-full-movie-free-download-uhd",
+