#!/usr/bin/perl -w
use strict;
+use Digest::MD5 'md5';
# make it clearer when we haven't run to completion, as we can be quite
# noisy when things are working ok
close $fh or die "Can't close $filename: $!";
}
+my (%Lengths, %MD5s);
+
+sub is_duplicate_pod {
+ my $file = shift;
+ # We are a file in lib. Are we a duplicate?
+ # Don't bother calculating the MD5 if there's no interesting file of
+ # this length.
+ return $Lengths{-s $file} && $MD5s{md5(slurp_or_die($file))};
+}
+
sub get_pod_metadata {
# Do we expect to find generated pods on disk?
my $permit_missing_generated = shift;
}
my_die "Unknown flag found in section line: $_" if length $flags;
my ($leafname) = $podname =~ m!([^/]+)$!;
+
+ if ($leafname ne $podname) {
+ # We are 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 $filename};
+ ++$MD5s{md5(slurp_or_die($filename))};
+ }
+
push @{$state{master}},
[\%flags, $podname, $filename, $desc, $leafname];
} elsif (/^$/) {
use FindBin;
use Text::Wrap;
use Getopt::Long;
-use Digest::MD5 'md5';
no locale;
# All the things in the master list that happen to be pod filenames
foreach (grep {defined $_ && @$_ == 5 && !$_->[0]{toc_omit}} @{$state->{master}}) {
- # Only bother registering those files that we know that we copy
- register_duplicate_pod($_->[2])
- if $_->[1] ne $_->[4];
$roffitall .= " \$mandir/$_->[4].1 \\\n";
podset($_->[4], $_->[2]);
}
# Below are all the auxiliary routines for generating perltoc.pod
-{
- my (%Lengths, %MD5s);
-
- sub register_duplicate_pod {
- my $file = shift;
- # We are a dual-life perl*.pod file, which will have be copied to lib/
- # by the build process, and hence also found there.
- ++$Lengths{-s $file};
- ++$MD5s{md5(slurp_or_die($file))};
- }
-
- sub is_duplicate_pod {
- my $file = shift;
- # We are a file in lib. Are we a duplicate?
- # Don't bother calculating the MD5 if there's no interesting file of
- # this length.
- return $Lengths{-s $file} && $MD5s{md5(slurp_or_die($file))};
- }
-}
-
my ($inhead1, $inhead2, $initem);
sub podset {