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 <rra@stanford.edu>
+# Copyright 1999, 2000 by Russ Allbery <rra@stanford.edu>
#
# 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;
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.
$options{center} = 'Perl Programmers Reference Guide';
}
-# Initialize and run the formatter.
-my $parser = Pod::Man->new (\%options);
-$parser->parse_from_file (@ARGV);
-
+# Initialize and run the formatter, pulling a pair of input and output off
+# at a time.
+my $parser = Pod::Man->new (%options);
+my @files;
+do {
+ @files = splice (@ARGV, 0, 2);
+ $parser->parse_from_file (@files);
+} while (@ARGV);
+
__END__
=head1 NAME
=head1 SYNOPSIS
-pod2txt [B<--section>=I<manext>] [B<--release>=I<version>]
+pod2man [B<--section>=I<manext>] [B<--release>=I<version>]
[B<--center>=I<string>] [B<--date>=I<string>] [B<--fixed>=I<font>]
[B<--fixedbold>=I<font>] [B<--fixeditalic>=I<font>]
-[B<--fixedbolditalic>=I<font>] [B<--official>] [B<--lax>] [I<input>
-[I<output>]]
+[B<--fixedbolditalic>=I<font>] [B<--official>] [B<--lax>]
+[B<--quotes>=I<quotes>] [I<input> [I<output>] ...]
-pod2txt B<--help>
+pod2man B<--help>
=head1 DESCRIPTION
I<input> is the file to read for POD source (the POD can be embedded in
code). If I<input> isn't given, it defaults to STDIN. I<output>, if given,
is the file to which to write the formatted output. If I<output> 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<pod2man> invocation (saving module load and compile
+times) by providing multiple pairs of I<input> and I<output> 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
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<quotes>, B<--quotes>=I<quotes>
+
+Sets the quote marks used to surround CE<lt>> text to I<quotes>. If
+I<quotes> is a single character, it is used as both the left and right
+quote; if I<quotes> is two characters, the first character is used as the
+left quote and the second as the right quoted; and if I<quotes> is four
+characters, the first two are used as the left quote and the second two as
+the right quote.
+
+I<quotes> may also be set to the special value C<none>, in which case no
+quote marks are added around CE<lt>> 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
=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.
=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";