


Pod::ParseLink(3pPerl Programmers Reference GuiPod::ParseLink(3p)


NAME
       Pod::ParseLink - Parse an L<> formatting code in POD text

SYNOPSIS
           use Pod::ParseLink;
           my ($text, $inferred, $name, $section, $type) = parselink ($link);

DESCRIPTION
       This module only provides a single function, parselink(),
       which takes the text of an L<> formatting code and parses
       it.  It returns the anchor text for the link (if any was
       given), the anchor text possibly inferred from the name
       and section, the name or URL, the section if any, and the
       type of link.  The type will be one of "url", "pod", or
       "man", indicating a URL, a link to a POD page, or a link
       to a Unix manual page.

       Parsing is implemented per perlpodspec.  For backward
       compatibility, links where there is no section and name
       contains spaces, or links where the entirety of the link
       (except for the anchor text if given) is enclosed in
       double-quotes are interpreted as links to a section
       (L</section>).

       The inferred anchor text is implemented per perlpodspec:

           L<name>         =>  L<name|name>
           L</section>     =>  L<"section"|/section>
           L<name/section> =>  L<"section" in name|name/section>

       The name may contain embedded E<> and Z<> formatting
       codes, and the section, anchor text, and inferred anchor
       text may contain any formatting codes.  Any double quotes
       around the section are removed as part of the parsing, as
       is any leading or trailing whitespace.

       If the text of the L<> escape is entirely enclosed in
       double quotes, it's interpreted as a link to a section for
       backward compatibility.

       No attempt is made to resolve formatting codes.  This must
       be done after calling parselink() (since E<> formatting
       codes can be used to escape characters that would
       otherwise be significant to the parser and resolving them
       before parsing would result in an incorrect parse of a
       formatting code like:

           L<verticalE<verbar>barE<sol>slash>

       which should be interpreted as a link to the
       "vertical|bar/slash" POD page and not as a link to the
       "slash" section of the "bar" POD page with an anchor text
       of "vertical".  Note that not only the anchor text will
       need to have formatting codes expanded, but so will the



perl v5.10.1                2009-10-12                          1





Pod::ParseLink(3pPerl Programmers Reference GuiPod::ParseLink(3p)


       target of the link (to deal with E<> and Z<> formatting
       codes), and special handling of the section may be
       necessary depending on whether the translator wants to
       consider markup in sections to be significant when
       resolving links.  See perlpodspec for more information.

SEE ALSO
       Pod::Parser

       The current version of this module is always available
       from its web site at
       <http://www.eyrie.org/~eagle/software/podlators/>.

AUTHOR
       Russ Allbery <rra@stanford.edu>.

COPYRIGHT AND LICENSE
       Copyright 2001, 2008 Russ Allbery <rra@stanford.edu>.

       This program is free software; you may redistribute it
       and/or modify it under the same terms as Perl itself.




































perl v5.10.1                2009-10-12                          2


