#!/usr/bin/perl # Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material # is made available to anyone wishing to use, modify, copy, or # redistribute it subject to the terms and conditions of the GNU General # Public License v.2. # # This program is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # Author: Petr Splichal # This perl script takes all supplied files or stdin and extracts # every =pod section that does not include =head1 headings except # those which contain beakerlib-manual-{header,footer} directives. # # Finally it spits out parsed =pod sections in the following order: # beakerlib-manual-header # beakerlib-manual-include (all non-=head1 sections included here) # beakerlib-manual-footer my $pod = 0; my $type = ''; my %text = (include => '=head1 FUNCTIONS'); while (<>) { # end of =pod section if (m/^=cut/) { $pod = 0; } # recognize header/footer and trash =head1's $type = 'header' if m/beakerlib-manual-header/; $type = 'footer' if /beakerlib-manual-footer/; $type = 'trash' if /^=head1/ && ! ($type =~ m/header|footer/); # add to corresponding place $text{$type} .= $_ if $pod; # start of =pod section if (m/^=pod/) { $pod = 1; $type = 'include'; } } print $text{header}; print $text{include}; print $text{footer};