Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Pod::Escapes (3)

Name

Pod::Escapes - for resolving Pod E<...> sequences

Synopsis

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

Perl Programmers Reference Guide                               Pod::Escapes(3)



NAME
       Pod::Escapes - for resolving Pod E<...> sequences

SYNOPSIS
         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.

       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.

GOODIES
       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 aproximates
           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 before 5.7, Unicode characters with a value over 255
       (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 (characters 160-255) are unaffected.

       Under EBCDIC platforms, "e2char($n)" may not always be the same as
       "chr(e2charnum($n))", and ditto for $Name2character{$name} and
       "chr($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}))".


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | runtime/perl-532      |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

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
       <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>



NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.perl.org/.



perl v5.32.0                      2020-06-14                   Pod::Escapes(3)