Pod::Escapes(3pm)
π NAME π
Okay so bestie, welcome to Pod::Escapes(3pm) β this module is literally for resolving Pod E<...> sequences. Thatβs the whole vibe. π¦
β¨ SYNOPSIS β¨
Like, hereβs the group-chat snippet:
use Pod::Escapes qw(e2char);
...la la la, parsing POD, la la la...
$text = e2char($e_node->label);
unless(defined $text) {
print "Unknown E sequence \"", $e_node->label, "\"!";
}
...else print/interpolate $text...
π DESCRIPTION π
This module provides things that are useful in decoding Pod E<...> sequences. Presumably, it should be used only by Pod parsers and/or formatters. No cap.
By default, Pod::Escapes exports none of its symbols. But you can request any of them to be exported. Either request them individually, as with use Pod::Escapes qw(symbolname symbolname2...);, or you can do use Pod::Escapes qw(:ALL); to get all exportable symbols. Slay. π
π GOODIES π
These are the little icons of the module, bestie. Obsessed. π
β¨ e2char($e_content) β¨
Given a name or number that could appear in a "E<name_or_num>" sequence, this returns the string that it stands for. For example, e2char('sol'), e2char('47'), e2char('0x2F'), and e2char('057') all return "/", because "E<sol>", "E<47>", "E<0x2f>", and "E<057>", all mean "/". If the name has no known value (as with a name of "qacute") or is syntactically invalid (as with a name of "1/4"), this returns undef.
β¨ e2charnum($e_content) β¨
Given a name or number that could appear in a "E<name_or_num>" sequence, this returns the number of the Unicode character that this stands for. For example, e2char('sol'), e2char('47'), e2char('0x2F'), and e2char('057') all return 47, because "E<sol>", "E<47>", "E<0x2f>", and "E<057>", all mean "/", whose Unicode number is 47. If the name has no known value (as with a name of "qacute") or is syntactically invalid (as with a name of "1/4"), this returns undef.
β¨ $Name2character{name} β¨
Maps from names (as in "E<name>") like "eacute" or "sol" to the string that each stands for. Note that this does not include numerics (like "64" or "x981c"). Under old Perl versions (before 5.7) you get a "?" in place of characters whose Unicode value is over 255.
β¨ $Name2character_number{name} β¨
Maps from names (as in "E<name>") like "eacute" or "sol" to the Unicode value that each stands for. For example, $Name2character_number{'eacute'} is 201, and $Name2character_number{'eacute'} is 8364. You get the correct Unicode value, regardless of the version of Perl youβre using -- which differs from %Name2character's behavior under pre-5.7 Perls.
Note that this hash does not include numerics (like "64" or "x981c").
β¨ $Latin1Code_to_fallback{integer} β¨
For numbers in the range 160 (0x00A0) to 255 (0x00FF), this maps from the character code for a Latin-1 character (like 233 for lowercase e-acute) to the US-ASCII character that best approximates it (like "e"). You may find this useful if you are rendering POD in a format that you think deals well only with US-ASCII characters.
β¨ $Latin1Char_to_fallback{character} β¨
Just as above, but maps from characters (like "\xE9", lowercase e-acute) to characters (like "e").
β¨ $Code2USASCII{integer} β¨
This maps from US-ASCII codes (like 32) to the corresponding character (like space, for 32). Only characters 32 to 126 are defined. This is meant for use by e2char($x) when it senses that itβs running on a non-ASCII platform (where chr(32) doesnβt get you a space -- but $Code2USASCII{32} will). Itβs documented here just in case you might find it useful.
β οΈ CAVEATS β οΈ
On Perl versions before5.7, Unicode characters with a value over255(like lambda or emdash) canβt be conveyed. This module does work under such early Perl versions, but in the place of each such character, you get a"?". Latin-1 characters (characters160-255) are unaffected.
Under EBCDIC platforms,e2char($n)may not always be the same as"chr(e2charnum($n))", and ditto for$Name2character{$name}andchr($Name2character_number{$name}), because the strings are returned as native, and the numbers are returned as Unicode. However, for Perls starting with v5.8,e2char($n)is the same as"chr(utf8::unicode_to_native(e2charnum($n)))", and ditto for$Name2character{$name}and"chr(utf8::unicode_to_native($Name2character_number{$name}))".
π SEE ALSO π
Pod::Browserβ a pod web server based on Catalyst.Pod::Checkerβ check pod documents for syntax errors.Pod::Coverageβ check if the documentation for a module is comprehensive.perlpodβ description of pod format (for people documenting with pod).perlpodspecβ specification of pod format (for people processing it).Text::Unidecodeβ ASCII transliteration of Unicode text.
π¦ REPOSITORY π¦
Bestie, the repo is right here:
<https://github.com/neilbowers/Pod-Escapes>
Β©οΈ COPYRIGHT AND DISCLAIMERS Β©οΈ
Copyright (c) 2001-2004 Sean M. Burke. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
Portions of the data tables in this module are derived from the entity declarations in the W3C XHTML specification.
Currently (October 2001), thatβs these three:
http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent
http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent
βοΈ AUTHOR βοΈ
Sean M. Burke "sburke@cpan.org"
Now being maintained by Neil Bowers <neilb@cpan.org>
And thatβs the whole Pod::Escapes(3pm) moment, bestie. This page is from perl v5.42.3, dated 2026-11-03, and itβs literally the Pod::Escapes(3pm) manual page. Slay. π
β¨
π¦ where this page comes from
- alpine 3.24: perl-doc 5.42.3-r0 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms