pod::parselink(3)

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 com
patibility, links where there is no section and name con
tains spaces, or links where the entirety of the link
(except for the anchor text if given) is enclosed in dou
ble-quotes are interpreted as links to a section (L</sec
tion>).

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 dou
ble quotes, it's interpreted as a link to a section for
backwards 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 other
wise 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 "verti
cal|bar/slash" POD page and not as a link to the "slash"
section of the "bar" POD page with an anchor text of "ver
tical". Note that not only the anchor text will need to
have formatting codes expanded, but so will the 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 sec
tions 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/soft
ware/podlators/>.

AUTHOR

Russ Allbery <rra@stanford.edu>.

COPYRIGHT AND LICENSE

Copyright 2001 by 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.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout