X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fpod2man.PL;h=f320a3c295e8422caba1b0e0e82071d814b54e78;hb=1fcf10661eab113adba83b30ee600a6b3f37ba34;hp=4312e9fbe320ace9b4434aeef87b413db095f0d3;hpb=146174a91a192983720a158796dc066226ad0e55;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/pod2man.PL b/pod/pod2man.PL index 4312e9f..f320a3c 100644 --- a/pod/pod2man.PL +++ b/pod/pod2man.PL @@ -36,14 +36,12 @@ $Config{startperl} print OUT <<'!NO!SUBS!'; # pod2man -- Convert POD data to formatted *roff input. +# $Id: pod2man.PL,v 1.4 2000/11/19 05:47:46 eagle Exp $ # -# Copyright 1999 by Russ Allbery +# Copyright 1999, 2000 by Russ Allbery # # This program is free software; you can redistribute it and/or modify it # under the same terms as Perl itself. -# -# The driver script for Pod::Man. This script is expected to eventually -# replace pod2man in the standard Perl distribution. require 5.004; @@ -52,15 +50,21 @@ use Pod::Man (); use Pod::Usage qw(pod2usage); use strict; -use vars; + +# Insert -- into @ARGV before any single dash argument to hide it from +# Getopt::Long; we want to interpret it as meaning stdin (which Pod::Parser +# does correctly). +my $stdin; +@ARGV = map { $_ eq '-' && !$stdin++ ? ('--', $_) : $_ } @ARGV; # Parse our options, trying to retain backwards compatibility with pod2man # but allowing short forms as well. --lax is currently ignored. my %options; -Getopt::Long::config ('bundling'); +Getopt::Long::config ('bundling_override'); GetOptions (\%options, 'section|s=s', 'release|r=s', 'center|c=s', 'date|d=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s', - 'fixedbolditalic=s', 'official|o', 'lax|l', 'help|h') or exit 1; + 'fixedbolditalic=s', 'official|o', 'quotes|q=s', 'lax|l', + 'help|h') or exit 1; pod2usage (0) if $options{help}; # Official sets --center, but don't override things explicitly set. @@ -68,10 +72,15 @@ if ($options{official} && !defined $options{center}) { $options{center} = 'Perl Programmers Reference Guide'; } -# Initialize and run the formatter. +# Initialize and run the formatter, pulling a pair of input and output off +# at a time. my $parser = Pod::Man->new (%options); -$parser->parse_from_file (@ARGV); - +my @files; +do { + @files = splice (@ARGV, 0, 2); + $parser->parse_from_file (@files); +} while (@ARGV); + __END__ =head1 NAME @@ -80,13 +89,13 @@ pod2man - Convert POD data to formatted *roff input =head1 SYNOPSIS -pod2txt [B<--section>=I] [B<--release>=I] +pod2man [B<--section>=I] [B<--release>=I] [B<--center>=I] [B<--date>=I] [B<--fixed>=I] [B<--fixedbold>=I] [B<--fixeditalic>=I] -[B<--fixedbolditalic>=I] [B<--official>] [B<--lax>] [I -[I]] +[B<--fixedbolditalic>=I] [B<--official>] [B<--lax>] +[B<--quotes>=I] [I [I] ...] -pod2txt B<--help> +pod2man B<--help> =head1 DESCRIPTION @@ -97,7 +106,10 @@ terminal using nroff(1), normally via man(1), or printing using troff(1). I is the file to read for POD source (the POD can be embedded in code). If I isn't given, it defaults to STDIN. I, if given, is the file to which to write the formatted output. If I isn't -given, the formatted output is written to STDOUT. +given, the formatted output is written to STDOUT. Several POD files can be +processed in the same B invocation (saving module load and compile +times) by providing multiple pairs of I and I files on the +command line. B<--section>, B<--release>, B<--center>, B<--date>, and B<--official> can be used to set the headers and footers to use; if not given, Pod::Man will @@ -170,6 +182,19 @@ POD checking functionality is not yet implemented in Pod::Man. Set the default header to indicate that this page is part of the standard Perl release, if B<--center> is not also given. +=item B<-q> I, B<--quotes>=I + +Sets the quote marks used to surround CE> text to I. If +I is a single character, it is used as both the left and right +quote; if I is two characters, the first character is used as the +left quote and the second as the right quoted; and if I is four +characters, the first two are used as the left quote and the second two as +the right quote. + +I may also be set to the special value C, in which case no +quote marks are added around CE> text (but the font is still changed for +troff output). + =item B<-r>, B<--release> Set the centered footer. By default, this is the version of Perl you run @@ -320,11 +345,11 @@ functions. =item ERRORS -Exceptions, error return codes, exit stati, and errno settings. Typically -used for function documentation; program documentation uses DIAGNOSTICS -instead. The general rule of thumb is that errors printed to STDOUT or -STDERR and intended for the end user are documented in DIAGNOSTICS while -errors passed internal to the calling program and intended for other +Exceptions, error return codes, exit statuses, and errno settings. +Typically used for function documentation; program documentation uses +DIAGNOSTICS instead. The general rule of thumb is that errors printed to +STDOUT or STDERR and intended for the end user are documented in DIAGNOSTICS +while errors passed internal to the calling program and intended for other programmers are documented in ERRORS. When documenting a function that sets errno, a full list of the possible errno values should be given here. @@ -463,6 +488,7 @@ page, are taken from the B documentation by Tom. =cut !NO!SUBS! +#'# (cperl-mode) close OUT or die "Can't close $file: $!"; chmod 0755, $file or die "Can't reset permissions for $file: $!\n";