Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Who's afraid of the manual?

by jmcnamara (Monsignor)
on Jan 03, 2002 at 20:16 UTC ( #135998=note: print w/replies, xml ) Need Help??


in reply to Who's afraid of the manual?


As a one-liner I would prefer something like this: perl -nle 'print "\t"x($1-1),$2 if /^=head(\d)\s+(.*)/' /somepath/perlop.pod Or as a short program:
#!/usr/bin/perl -l # Call the program as follows: # perl toc.pl perlop # perl toc.pl Parse::RecDescent my $podfile = `perldoc -l @ARGV[0]`; exit if $?; open POD, $podfile or die "$podfile: $!.\n"; while (<POD>) { print " " x ($1-1), $2 if /^=head(\d)\s+(.*)/; }
What do you think: should all lengthy Perl documentation have a table of contents?

Unfortunately, it is too late to add a table of contents as a requirement for Perl documentation. However, it shouldn't be difficult to extend the above methodology to read a pod file, generate a table of contents, add it to a copy of the original pod as a section after NAME and redirect it to pod2text.

--
John.

Replies are listed 'Best First'.
Re: Re: Who's afraid of the manual?
by Juerd (Abbot) on Jan 03, 2002 at 20:23 UTC
    perl -nle 'print "\t"x($1-1), $2 if /^=head(\d)\s+(.*)/' /somepath/perlop.pod
    Actually, I like the =item's to be in there too, and with that, =over comes in handy too. So full pod parsing is not really overkill :)
    Why the =item's? Because in many cases they provide a list of available function/method calls.

    2;0 juerd@ouranos:~$ perl -e'undef christmas' Segmentation fault 2;139 juerd@ouranos:~$

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://135998]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2021-10-23 11:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My first memorable Perl project was:







    Results (88 votes). Check out past polls.

    Notices?