#!/usr/bin/env perl # podtoc -- show outline of pods # tchrist@perl.com $/ = ''; $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 Copyright (C) 1999 Tom Christiansen. Copyright (C) 2006-2008 Mark Leighton Fisher. This is free software; you can redistribute it and/or modify it under the terms of either: (a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or (b) the Perl "Artistic License". (This is the Perl 5 licensing scheme.) Please note this is a change from the original pmtools-1.00 (still available on CPAN), as pmtools-1.00 were licensed only under the Perl "Artistic License".