Clarification: use encoding cannot be used to
[p5sagit/p5-mst-13.2.git] / pod / pod2man.PL
index 7a50fc5..5a1deea 100644 (file)
@@ -36,11 +36,11 @@ $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 $
+# $Id: pod2man.PL,v 1.7 2001/10/20 08:24:15 eagle Exp $
 #
-# Copyright 1999, 2000 by Russ Allbery <rra@stanford.edu>
+# Copyright 1999, 2000, 2001 by Russ Allbery <rra@stanford.edu>
 #
-# This program is free software; you can redistribute it and/or modify it
+# This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 require 5.004;
@@ -51,20 +51,23 @@ use Pod::Usage qw(pod2usage);
 
 use strict;
 
+# Silence -w warnings.
+use vars qw($running_under_some_shell);
+
 # 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.
+# 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_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', 'quotes|q=s', 'lax|l',
-            'help|h') or exit 1;
+            'help|h', 'verbose|v') or exit 1;
 pod2usage (0) if $options{help};
 
 # Official sets --center, but don't override things explicitly set.
@@ -72,15 +75,20 @@ if ($options{official} && !defined $options{center}) {
     $options{center} = 'Perl Programmers Reference Guide';
 }
 
-# Initialize and run the formatter, pulling a pair of input and output off
-# at a time.
+# Verbose is only our flag, not a Pod::Man flag.
+my $verbose = $options{verbose};
+delete $options{verbose};
+
+# 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);
+    print "  $files[1]\n" if $verbose;
     $parser->parse_from_file (@files);
 } while (@ARGV);
-  
+
 __END__
 
 =head1 NAME
@@ -93,7 +101,7 @@ 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>]
-[B<--quotes>=I<quotes>] [I<input> [I<output>] ...]
+[B<--quotes>=I<quotes>] [B<--verbose>] [I<input> [I<output>] ...]
 
 pod2man B<--help>
 
@@ -217,6 +225,10 @@ that are reliably consistent are 1, 2, and 3.
 By default, section 1 will be used unless the file ends in .pm in which case
 section 3 will be selected.
 
+=item B<-v>, B<--verbose>
+
+Print out the name of each output file as it is being generated.
+
 =back
 
 =head1 DIAGNOSTICS
@@ -423,7 +435,8 @@ LE<lt>E<gt>, but other things in this section probably should be when
 appropriate.  You may need to use the C<LE<lt>...|...E<gt>> syntax to keep
 B<pod2man> and B<pod2text> from being too verbose; see perlpod(1).
 
-If the package has a mailing list, include a URL here.
+If the package has a mailing list, include a URL or subscription
+instructions here.
 
 If the package has a web site, include a URL here.
 
@@ -439,14 +452,14 @@ and pick an e-mail address that's likely to last if possible.
 
 For copyright
 
-  Copyright YEAR(s) by YOUR NAME(s)
+    Copyright YEAR(s) by YOUR NAME(s)
 
 (No, (C) is not needed.  No, "all rights reserved" is not needed.)
 
 For licensing the easiest way is to use the same licensing as Perl itself:
 
-  This library is free software; you can redistribute it and/or modify
-  it under the same terms as Perl itself. 
+    This library is free software; you may redistribute it and/or modify
+    it under the same terms as Perl itself.
 
 This makes it easy for people to use your module with Perl.  Note that
 this licensing is neither an endorsement or a requirement, you are of
@@ -454,8 +467,8 @@ course free to choose any licensing.
 
 =item HISTORY
 
-Programs derived from other sources sometimes have this, or you might
-keep a modification log here.  If the log gets overly long or detailed,
+Programs derived from other sources sometimes have this, or you might keep
+a modification log here.  If the log gets overly long or detailed,
 consider maintaining it in a separate file, though.
 
 =back
@@ -467,10 +480,7 @@ of a C library.  Documentation of object-oriented libraries or modules may
 use CONSTRUCTORS and METHODS sections for detailed documentation of the
 parts of the library and save the DESCRIPTION section for an overview; other
 large modules may use FUNCTIONS for similar reasons.  Some people use
-OVERVIEW to summarize the description if it's quite long.  Sometimes there's
-an additional COPYRIGHT section at the bottom, for licensing terms.
-AVAILABILITY is sometimes added, giving the canonical download site for the
-software or a URL for updates.
+OVERVIEW to summarize the description if it's quite long.
 
 Section ordering varies, although NAME should I<always> be the first section
 (you'll break some man page systems otherwise), and NAME, SYNOPSIS,
@@ -501,11 +511,18 @@ your system.
 
 =head1 AUTHOR
 
-Russ Allbery E<lt>rra@stanford.eduE<gt>, based I<very> heavily on the
-original B<pod2man> by Larry Wall and Tom Christiansen.  Large portions of
-this documentation, particularly the sections on the anatomy of a proper man
+Russ Allbery <rra@stanford.edu>, based I<very> heavily on the original
+B<pod2man> by Larry Wall and Tom Christiansen.  Large portions of this
+documentation, particularly the sections on the anatomy of a proper man
 page, are taken from the B<pod2man> documentation by Tom.
 
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 1999, 2000, 2001 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.
+
 =cut
 !NO!SUBS!
 #'# (cperl-mode)