}
# 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
+# Getopt::Long; we want to interpret it as meaning stdin (which Pod::Simple
# does correctly).
my $stdin;
@ARGV = map { $_ eq '-' && !$stdin++ ? ('--', $_) : $_ } @ARGV;
$options{sentence} = 0;
Getopt::Long::config ('bundling');
GetOptions (\%options, 'alt|a', 'code', 'color|c', 'help|h', 'indent|i=i',
- 'loose|l', 'overstrike|o', 'quotes|q=s', 'sentence|s',
- 'termcap|t', 'width|w=i') or exit 1;
+ 'loose|l', 'margin|left-margin|m=i', 'overstrike|o',
+ 'quotes|q=s', 'sentence|s', 'termcap|t', 'width|w=i') or exit 1;
pod2usage (1) if $options{help};
# Figure out what formatter we're going to use. -c overrides -t.
delete @options{'color', 'termcap', 'overstrike'};
# Initialize and run the formatter.
-my $parser = $formatter->new (%options);
-$parser->parse_from_file (@ARGV);
+do {
+ my $parser = $formatter->new (%options);
+ my ($input, $output) = splice (@ARGV, 0, 2);
+ $parser->parse_file ($input, $output);
+ undef $parser;
+} while (@ARGV);
__END__
=head1 SYNOPSIS
pod2text [B<-aclost>] [B<--code>] [B<-i> I<indent>] S<[B<-q> I<quotes>]>
-S<[B<-w> I<width>]> [I<input> [I<output>]]
+S<[B<-w> I<width>]> [I<input> [I<output> ...]]
pod2text B<-h>
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<pod2text> invocation (saving module load and compile
+times) by providing multiple pairs of I<input> and I<output> files on the
+command line.
=head1 OPTIONS
because this is the expected formatting for manual pages; if you're
formatting arbitrary text documents, using this option is recommended.
+=item B<-m> I<width>, B<--left-margin>=I<width>, B<--margin>=I<width>
+
+The width of the left margin in spaces. Defaults to 0. This is the margin
+for all text, including headings, not the amount by which regular text is
+indented; for the latter, see B<-i> option.
+
=item B<-o>, B<--overstrike>
Format the output with overstruck printing. Bold text is rendered as
=head1 DIAGNOSTICS
-If B<pod2text> fails with errors, see L<Pod::Text> and L<Pod::Parser> for
+If B<pod2text> fails with errors, see L<Pod::Text> and L<Pod::Simple> for
information about what those errors might mean. Internally, it can also
produce the following diagnostics:
=back
-In addition, other L<Getopt::Long|Getopt::Long> error messages may result
-from invalid command-line options.
+In addition, other L<Getopt::Long> error messages may result from invalid
+command-line options.
=head1 ENVIRONMENT
=head1 SEE ALSO
L<Pod::Text>, L<Pod::Text::Color>, L<Pod::Text::Overstrike>,
-L<Pod::Text::Termcap>, L<Pod::Parser>
+L<Pod::Text::Termcap>, L<Pod::Simple>
The current version of this script is always available from its web site at
L<http://www.eyrie.org/~eagle/software/podlators/>. It is also part of the
=head1 COPYRIGHT AND LICENSE
-Copyright 1999, 2000, 2001 by Russ Allbery <rra@stanford.edu>.
+Copyright 1999, 2000, 2001, 2004 by Russ Allbery <rra@stanford.edu>.
This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.