Add %patchlevel hash to Module::CoreList
Rafael Garcia-Suarez [Sun, 24 Apr 2005 11:48:24 +0000 (11:48 +0000)]
p4raw-id: //depot/perl@24311

lib/Module/CoreList.pm

index 24d1d06..7772363 100644 (file)
@@ -1,6 +1,6 @@
 package Module::CoreList;
 use strict;
-use vars qw/$VERSION %released %version %families/;
+use vars qw/$VERSION %released %patchlevel %version %families/;
 $VERSION = '2.01';
 
 =head1 NAME
@@ -19,6 +19,9 @@ Module::CoreList - what modules shipped with versions of perl
  print join ", ", @{ $Module::CoreList::families{5.005} };
     # prints "5.005, 5.00503, 5.00504"
 
+ print join " ", @{ $Module::CoreList::patchlevel{5.008001} };
+    # prints "maint-5.8 21377"
+
 =head1 DESCRIPTION
 
 Module::CoreList contains the hash of hashes
@@ -30,11 +33,15 @@ whereby the value is undef, so use C<exists $version{$foo}{$bar}> if
 that's what you're testing for.
 
 It also contains %Module::CoreList::released hash, which has ISO
-formatted versions of the release dates, as gleaned from L<perlhist>
+formatted versions of the release dates, as gleaned from L<perlhist>.
 
 New, in 1.96 is also the %Module::CoreList::families hash, which
 clusters known perl releases by their major versions.
 
+In 2.01 %Module::CoreList::patchlevel contains the branch and patchlevel
+corresponding to the specified perl version in the Perforce repository where
+the perl sources are kept.
+
 =head1 CAVEATS
 
 Module::CoreList currently only covers the 5.000, 5.001, 5.002, 5.003_07,
@@ -123,6 +130,28 @@ sub first_release {
     5.009002 => '2005-04-01',
    );
 
+# perforce branches and patch levels
+%patchlevel = (
+    5.005    => [perl => 1647],
+    5.00503  => ['maint-5.005' => 3198],
+    5.00405  => ['maint-5.004' => 999],
+    5.006    => [perl => 5899],
+    5.006001 => ['maint-5.6' => 9654],
+    5.006002 => ['maint-5.6' => 21727],
+    5.007003 => [perl => 15039],
+    5.008    => [perl => 17637],
+    5.008001 => ['maint-5.8' => 21377],
+    5.008002 => ['maint-5.8' => 21670],
+    5.009    => [perl => 21539],
+    5.008003 => ['maint-5.8' => 22151],
+    5.00504  => ['maint-5.005' => 22270],
+    5.009001 => [perl => 22506],
+    5.008004 => ['maint-5.8' => 22729],
+    5.008005 => ['maint-5.8' => 23139],
+    5.008006 => ['maint-5.8' => 23552],
+    5.009002 => [perl => 24131],
+);
+   
 for my $version ( sort { $a <=> $b } keys %released ) {
     my $family = int ($version * 1000) / 1000;
     push @{ $families{ $family }} , $version;