Re-order entries in the 'master' array returned by get_pod_metadata().
authorNicholas Clark <nick@ccl4.org>
Mon, 19 Dec 2011 19:44:39 +0000 (20:44 +0100)
committerNicholas Clark <nick@ccl4.org>
Wed, 21 Dec 2011 08:07:27 +0000 (09:07 +0100)
Now it returns just the pod's name, its filename, and the flags (if any).

Porting/pod_lib.pl
installman
pod/buildtoc

index 7e3cdab..a87c3ee 100644 (file)
@@ -56,12 +56,12 @@ my %state = (
         unless (%Lengths) {
             __prime_state() unless $state{master};
             foreach (@{$state{master}}) {
-                next unless $_->[0]{dual};
+                next unless $_->[2]{dual};
                 # This is a dual-life perl*.pod file, which will have be copied
                 # to lib/ by the build process, and hence also found there.
                 # These are the only pod files that might become duplicated.
-                ++$Lengths{-s $_->[2]};
-                ++$MD5s{md5(slurp_or_die($_->[2]))};
+                ++$Lengths{-s $_->[1]};
+                ++$MD5s{md5(slurp_or_die($_->[1]))};
             }
         }
 
@@ -167,12 +167,12 @@ sub __prime_state {
             my_die "Unknown flag found in section line: $_" if length $flags;
 
             push @{$state{master}},
-                [\%flags, undef, $filename, undef, $leafname];
+                [$leafname, $filename, \%flags];
 
             if ($podname eq 'perldelta') {
                 local $" = '.';
                 push @{$state{master}},
-                    [{}, undef, "pod/$state{delta_target}", undef, $delta_leaf];
+                    [$delta_leaf, "pod/$state{delta_target}"];
                 $state{pods}{$delta_leaf} = "Perl changes in version @want";
             }
 
@@ -218,8 +218,8 @@ sub get_pod_metadata {
     # Convert these to a list of filenames.
     ++$our_pods{"$_.pod"} foreach keys %{$state{pods}};
     foreach (@{$state{master}}) {
-        ++$our_pods{"$_->[4].pod"}
-            if $_->[0]{readme};
+        ++$our_pods{"$_->[0].pod"}
+            if $_->[2]{readme};
     }
 
     opendir my $dh, 'pod';
index 37d9699..fb43e85 100755 (executable)
@@ -74,7 +74,7 @@ my %do_not_install = map { ($_ => 1) } qw(
 # Install the main pod pages.
 pod2man({
          map {
-             ($_->[4], $_->[2])
+             ($_->[0], $_->[1])
          } @{$state->{master}}
         }, $opts{man1dir}, $opts{man1ext});
 
index 3ab42d3..cf17a9a 100644 (file)
@@ -76,9 +76,9 @@ my $roffitall;
 EOPOD2B
 
 # All the things in the master list that happen to be pod filenames
-foreach (grep {!$_->[0]{toc_omit}} @{$state->{master}}) {
-    $roffitall .= "    \$mandir/$_->[4].1 \\\n";
-    podset($_->[4], $_->[2]);
+foreach (grep {!$_->[2]{toc_omit}} @{$state->{master}}) {
+    $roffitall .= "    \$mandir/$_->[0].1 \\\n";
+    podset($_->[0], $_->[1]);
 }
 
 foreach my $type (qw(PRAGMA MODULE)) {