Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

POD: getting usage snippets from perldoc

by LanX (Cardinal)
on Mar 23, 2018 at 17:08 UTC ( #1211620=perlquestion: print w/replies, xml ) Need Help??

LanX has asked for the wisdom of the Perl Monks concerning the following question:

Hi

I stumbled over Pod::Functions which provides a list of all Perl builtins listed in perlfunc plus short-description.

use strict; use warnings; use Data::Dump qw/pp dd/; use Pod::Functions; pp '\%Flavor: ', \%Flavor; pp '\%Type_Description: ', \%Type_Description; pp '\@Type_Order: ', \@Type_Order; pp '\%Kinds: ', \%Kinds; pp '\%Type: ', \%Type;
( "\\%Flavor: ", { "-X" => "a file test (-r, -x, etc)", "__FILE__" => "the name of the current source file", "__LINE__" => "the current source line number", "__PACKAGE__" => "the current package", "__SUB__" => "the current subroutine, or C<undef> if not +in a subroutine", "abs" => "absolute value function", "accept" => "accept an incoming socket connect", "alarm" => "schedule a SIGALRM", "atan2" => "arctangent of Y/X in the range -PI to PI", ...

But it doesn't have an option to return the usage examples, like

split /PATTERN/,EXPR,LIMIT split /PATTERN/,EXPR split /PATTERN/

any standard recommendation how to get this, without hacking it with Pod::Simple et al?

Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re: POD: getting usage snippets from perldoc
by VinsWorldcom (Prior) on Mar 23, 2018 at 18:08 UTC

    Not really an answer, but along that same thought - I just submitted a feature request (rt://124867) to pmtools yesterday.

    I was looking to do something like:

    > perldoc --section SYNOPSIS Google::ProtocolBuffers > file.pl > perl file.pl

    Essentially taking the helpful example from the SYNOPSIS section of a given module and putting it right into a file to run.

      Hi,

      See podselect / Pod::Select

      Speaking of rt://pmtools, some really old bugs

      $ pmdesc CGI no description found $ pman CGI pod2text: unable to format D:/citrusperl/site/lib/CGI.pm $ podpath CGI D:/citrusperl/site/lib/CGI.pm

      perldoc has no issues with it

      $ perldoc -l CGI D:\citrusperl\site\lib\CGI.pod $ perldoc -l -m CGI D:\citrusperl\site\lib\CGI.pm

      No quotemeta in Loaded.pm        if ($path =~ m/$devel_loaded$/) {

      plxload still hardcodes /dev/null instead of using File::Spec->devnull

      Naturally all the test files pretend they're on unix (new bug)

Re: POD: getting usage snippets from perldoc
by LanX (Cardinal) on Mar 24, 2018 at 15:50 UTC
    FWIW my results parsing the perldocs for 5.16 :)

    update

    added grouping and short descriptions, some statements appear in multiple groups.

    some perldocs are fuzzy, especially for quote-like operators.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Wikisyntax for the Monastery

      Very nice, Thanks!

      Too bad it had to wrap

Re: POD: getting usage snippets from perldoc
by LanX (Cardinal) on Mar 23, 2018 at 17:35 UTC
    The simplest answer for a start is to use perldoc -u f NAME with the names given above...

    D:\tmp\woman>perldoc -u -f split|more =over 8 =item split /PATTERN/,EXPR,LIMIT X<split> =item split /PATTERN/,EXPR =item split /PATTERN/ =item split ...

    I'm sure there is a use perldoc-Module * exposing this functionality, but have to check if it can also be applied with pods other than perlfunc .

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Wikisyntax for the Monastery

    *) uhm ... Pod::Perldoc is not really excessively documented stuff ...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1211620]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2020-07-11 14:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?