diff options
Diffstat (limited to 'pod/splitpod')
-rwxr-xr-x | pod/splitpod | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/pod/splitpod b/pod/splitpod index 889dfa215a..fd38e51acf 100755 --- a/pod/splitpod +++ b/pod/splitpod @@ -12,23 +12,29 @@ while (<>) { if (s/=item (\S+)/$1/) { #$cur = "POSIX::" . $1; + $next{$cur} = $1; $cur = $1; $syn{$cur} .= $_; next; } else { #s,L</,L<POSIX/,g; s,L</,L<perlfunc/,g; - push @{$pod{$cur} ||= []}, $_ if $cur; + push @{$pod{$cur}}, $_ if $cur; } } for $f ( keys %syn ) { - $type = $Type{$f} || next; + next unless $Type{$f}; $flavor = $Flavor{$f}; $orig = $f; ($name = $f) =~ s/\W//g; + + # deal with several functions sharing a description + $func = $orig; + $func = $next{$func} until $pod{$func}; + my $body = join "", @{$pod{$func}}; + # deal with unbalanced =over and =back cause by the split - my $body = $pod{$orig}; my $has_over = $body =~ /^=over/; my $has_back = $body =~ /^=back/; $body =~ s/^=over\s*//m if $has_over and !$has_back; |