summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/lib/Pod/Select.pm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/lib/Pod/Select.pm')
-rw-r--r--gnu/usr.bin/perl/lib/Pod/Select.pm43
1 files changed, 26 insertions, 17 deletions
diff --git a/gnu/usr.bin/perl/lib/Pod/Select.pm b/gnu/usr.bin/perl/lib/Pod/Select.pm
index 5dd1595107e..07839f0b9cd 100644
--- a/gnu/usr.bin/perl/lib/Pod/Select.pm
+++ b/gnu/usr.bin/perl/lib/Pod/Select.pm
@@ -10,14 +10,14 @@
package Pod::Select;
use vars qw($VERSION);
-$VERSION = 1.12; ## Current version of this package
+$VERSION = 1.35; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
=head1 NAME
-Pod::Select, podselect() - extract selected sections of POD from input
+Pod::Select, podselect - extract selected sections of POD from input
=head1 SYNOPSIS
@@ -92,7 +92,7 @@ The formal syntax of a section specification is:
=over 4
-=item
+=item *
I<head1-title-regex>/I<head2-title-regex>/...
@@ -109,33 +109,39 @@ Some example section specifications follow.
=over 4
-=item
+=item *
+
Match the C<NAME> and C<SYNOPSIS> sections and all of their subsections:
C<NAME|SYNOPSIS>
-=item
+=item *
+
Match only the C<Question> and C<Answer> subsections of the C<DESCRIPTION>
section:
C<DESCRIPTION/Question|Answer>
-=item
+=item *
+
Match the C<Comments> subsection of I<all> sections:
C</Comments>
-=item
+=item *
+
Match all subsections of C<DESCRIPTION> I<except> for C<Comments>:
C<DESCRIPTION/!Comments>
-=item
+=item *
+
Match the C<DESCRIPTION> section but do I<not> match any of its subsections:
C<DESCRIPTION/!.+>
-=item
+=item *
+
Match all top level sections but none of their subsections:
C</!.+>
@@ -160,7 +166,7 @@ The formal syntax of a range specification is:
=over 4
-=item
+=item *
/I<start-range-regex>/[../I<end-range-regex>/]
@@ -175,7 +181,7 @@ Where I<cmd-expr> is intended to match the name of one or more POD
commands, and I<text-expr> is intended to match the paragraph text for
the command. If a range-regex is supposed to match a POD command, then
the first character of the regex (the one after the initial '/')
-absolutely I<must> be an single '=' character; it may not be anything
+absolutely I<must> be a single '=' character; it may not be anything
else (not even a regex meta-character) if it is supposed to match
against the name of a POD command.
@@ -499,7 +505,8 @@ sub is_selected {
## Keep track of current sections levels and headings
$_ = $paragraph;
- if (/^=((?:sub)*)(?:head(?:ing)?|sec(?:tion)?)(\d*)\s+(.*)\s*$/) {
+ if (/^=((?:sub)*)(?:head(?:ing)?|sec(?:tion)?)(\d*)\s+(.*?)\s*$/)
+ {
## This is a section heading command
my ($level, $heading) = ($2, $3);
$level = 1 + (length($1) / 3) if ((! length $level) || (length $1));
@@ -568,22 +575,22 @@ are used.
All other arguments should correspond to the names of input files
containing POD sections. A file name of "-" or "<&STDIN" will
-be interpeted to mean standard input (which is the default if no
+be interpreted to mean standard input (which is the default if no
filenames are given).
=cut
sub podselect {
my(@argv) = @_;
- my %defaults = ();
+ my %defaults = ();
my $pod_parser = new Pod::Select(%defaults);
my $num_inputs = 0;
my $output = ">&STDOUT";
- my %opts = ();
+ my %opts;
local $_;
for (@argv) {
if (ref($_)) {
- next unless (ref($_) eq 'HASH');
+ next unless (ref($_) eq 'HASH');
%opts = (%defaults, %{$_});
##-------------------------------------------------------------
@@ -734,6 +741,8 @@ L<Pod::Parser>
=head1 AUTHOR
+Please report bugs using L<http://rt.cpan.org>.
+
Brad Appleton E<lt>bradapp@enteract.comE<gt>
Based on code for B<pod2text> written by
@@ -742,4 +751,4 @@ Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
=cut
1;
-
+# vim: ts=4 sw=4 et