X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fsplitpod;h=10fd6afb1112e922eabd4ab19315658752a0e5b2;hb=be5387481edebd42425976c372ac3dbafe134bde;hp=889dfa215aa59f3b5699816ffe962bef6dff6800;hpb=3e3baf6d63945cb64e829d6e5c70a7d00f3d3d03;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/splitpod b/pod/splitpod index 889dfa2..10fd6af 100755 --- a/pod/splitpod +++ b/pod/splitpod @@ -1,49 +1,62 @@ #!/usr/bin/perl -use lib '../lib'; # If you haven't installed perl yet. +BEGIN { push @INC, '../lib' } # If you haven't installed perl yet. use Pod::Functions; local $/ = ''; +$level = 0; + $cur = ''; while (<>) { next unless /^=(?!cut)/ .. /^=cut/; - if (s/=item (\S+)/$1/) { - #$cur = "POSIX::" . $1; - $cur = $1; + ++$level if /^=over/; + --$level if /^=back/; + + # Ignore items that are nested within other items, e.g. don't split on the + # items nested within the pack() and sprintf() items in perlfunc.pod. + if (/=item (\S+)/ and $level == 1) { + my $item = $1; + s/=item //; + $next{$cur} = $item; + $cur = $item; $syn{$cur} .= $_; next; } else { - #s,L $name.pod") || die "can't open $name.pod: $!"; print POD <