pmtools
view release on metacpan or search on metacpan
#!/usr/bin/env perl
# podtoc -- show outline of pods
# ------ pragmas
use strict;
use warnings;
our $VERSION = '2.0.0';
# ------ define variables
my $inpod = undef;
$/ = '';
$inpod = 0;
while (<>) {
print "$ARGV\n" if $. == 1;
if ($inpod && /^=cut/) {
$inpod = 0;
next;
}
if (! $inpod && /^=(?!cut)\w+/) {
$inpod = 1;
}
if ($inpod) {
next unless /^=(?:head|item)/;
s/=head(\d)/' ' x ( $1 - 1 )/e;
s/=item/ * /;
s/\n+$/\n/;
print;
}
} continue {
if (eof) {
$inpod = 0;
close ARGV;
}
}
__END__
=head1 NAME
podtoc - show outline of pods
=head1 DESCRIPTION
This program shows the structure of one or more pod documents.
=head1 EXAMPLES
$ podtoc `pmpath CGI`
NAME
SYNOPSIS
ABSTRACT
DESCRIPTION
PROGRAMMING STYLE
CALLING CGI.PM ROUTINES
* 1. Use another name for the argument, if one is available. For
example, -value is an alias for -values.
* 2. Change the capitalization, e.g. -Values
(etc)
=head1 SEE ALSO
pod2man(1), perlpod(1).
=head1 AUTHORS and COPYRIGHTS
( run in 1.136 second using v1.01-cache-2.11-cpan-364913b4093 )