From: Perl 5 Porters Date: Sun, 8 Sep 1996 23:24:21 +0000 (+0000) Subject: perl 5.003_05: dev/null X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f31caa6397878e551e5e10cf6cc29a61769fd5fd;p=p5sagit%2Fp5-mst-13.2.git perl 5.003_05: dev/null New script to check for common errors in pods. This is not normally called during the perl build process, but you can use it with B. --- diff --git a/pod/checkpods.PL b/pod/checkpods.PL new file mode 100644 index 0000000..25d1f18 --- /dev/null +++ b/pod/checkpods.PL @@ -0,0 +1,74 @@ +#!/usr/local/bin/perl + +use Config; +use File::Basename qw(&basename &dirname); + +# List explicitly here the variables you want Configure to +# generate. Metaconfig only looks for shell variables, so you +# have to mention them as if they were shell variables, not +# %Config entries. Thus you write +# $startperl +# to ensure Configure will look for $Config{startperl}. + +# This forces PL files to create target in same directory as PL file. +# This is so that make depend always knows where to find PL derivatives. +chdir(dirname($0)); +($file = basename($0)) =~ s/\.PL$//; +$file =~ s/\.pl$// + if ($Config{'osname'} eq 'VMS' or + $Config{'osname'} eq 'OS2'); # "case-forgiving" + +open OUT,">$file" or die "Can't create $file: $!"; + +print "Extracting $file (with variable substitutions)\n"; + +# In this section, perl variables will be expanded during extraction. +# You can use $Config{...} to use Configure variables. + +print OUT <<"!GROK!THIS!"; +$Config{'startperl'} + eval 'exec perl -S \$0 "\$@"' + if 0; +!GROK!THIS! + +# In the following, perl variables are not expanded during extraction. + +print OUT <<'!NO!SUBS!'; +# From roderick@gate.netThu Sep 5 17:19:30 1996 +# Date: Thu, 05 Sep 1996 00:11:22 -0400 +# From: Roderick Schertler +# To: perl5-porters@africa.nicoh.com +# Subject: POD lines with only spaces +# +# There are some places in the documentation where a POD directive is +# ignored because the line before it contains whitespace (and so the +# directive doesn't start a paragraph). This patch adds a way to check +# for these to the pod Makefile (though it isn't made part of the build +# process, which would be a good idea), and fixes those places where the +# problem currently exists. +# +# Version 1.00 Original. +# Version 1.01 Andy Dougherty +# Trivial modifications to output format for easier auto-parsing +# Broke it out as a separate function to avoid nasty +# Make/Shell/Perl quoting problems, and also to make it easier +# to grow. Someone will probably want to rewrite in terms of +# some sort of Pod::Checker module. Or something. Consider this +# a placeholder for the future. +$exit = $last_blank = 0; +while (<>) { + chop; + if (/^(=\S+)/ && $last_blank) { + printf "%s: line %5d, Non-empty line preceeding directive %s\n", + $ARGV, $., $1; + $exit = 1; + } + $last_blank = /^\s+$/; + close(ARGV) if eof; +} +exit $exit +!NO!SUBS! + +close OUT or die "Can't close $file: $!"; +chmod 0755, $file or die "Can't reset permissions for $file: $!\n"; +exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';