Pod::Escapes - 用于解析 Pod E<...> 序列
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...
此模块提供了解码 Pod E<...> 序列的有用功能。 据推测,它应该只被 Pod 解析器和/或格式化程序使用。
默认情况下,Pod::Escapes 不导出任何符号。 但您可以请求导出任何符号。 可以单独请求它们,例如 use Pod::Escapes qw(symbolname symbolname2...);
,或者您可以使用 use Pod::Escapes qw(:ALL);
来获取所有可导出符号。
给定一个可能出现在 E<name_or_num>
序列中的名称或数字,此函数返回它所代表的字符串。例如,e2char('sol')
、e2char('47')
、e2char('0x2F')
和 e2char('057')
都返回 "/",因为 E<sol>
、E<47>
、E<0x2f>
和 E<057>
都表示 "/"。如果该名称没有已知的值(例如名称为 "qacute")或语法无效(例如名称为 "1/4"),则返回 undef。
给定一个可能出现在 E<name_or_num>
序列中的名称或数字,此函数返回它所代表的 Unicode 字符的数字。例如,e2char('sol')
、e2char('47')
、e2char('0x2F')
和 e2char('057')
都返回 47,因为 E<sol>
、E<47>
、E<0x2f>
和 E<057>
都表示 "/",其 Unicode 数字为 47。如果该名称没有已知的值(例如名称为 "qacute")或语法无效(例如名称为 "1/4"),则返回 undef。
从名称(如 E<name>
)映射到它们所代表的字符串,例如 "eacute" 或 "sol"。请注意,这并不包括数字(如 "64" 或 "x981c")。在旧版本的 Perl(5.7 之前)中,对于 Unicode 值超过 255 的字符,您将获得一个 "?"。
从名称(如 E<name>
)映射到它们所代表的 Unicode 值,例如 "eacute" 或 "sol"。例如,$Name2character_number{'eacute'}
为 201,$Name2character_number{'eacute'}
为 8364。无论您使用的是哪个版本的 Perl,您都会获得正确的 Unicode 值,这与 %Name2character
在 5.7 之前的 Perl 版本中的行为不同。
请注意,此哈希不包括数字(如 "64" 或 "x981c")。
对于 160 (0x00A0) 到 255 (0x00FF) 范围内的数字,此哈希从 Latin-1 字符的字符代码(如 233 代表小写 e-acute)映射到最接近它的 US-ASCII 字符(如 "e")。如果您在仅处理 US-ASCII 字符的格式中渲染 POD,您可能会发现此哈希很有用。
与上面一样,但从字符(如 "\xE9",小写 e-acute)映射到字符(如 "e")。
此哈希从 US-ASCII 代码(如 32)映射到相应的字符(如 32 代表空格)。仅定义了 32 到 126 的字符。这旨在供 e2char($x)
在它检测到它运行在非 ASCII 平台上时使用(在这种平台上,chr(32) 不会得到空格,但 $Code2USASCII{32} 会得到)。这里记录它只是为了您可能发现它有用。
在 Perl 5.7 之前的版本中,Unicode 字符的值超过 255(例如 lambda 或 emdash)无法传递。此模块在这些早期 Perl 版本下仍然可以工作,但每个这样的字符都会被替换为“?”。Latin-1 字符(字符 160-255)不受影响。
在 EBCDIC 平台下,e2char($n)
可能并不总是与 chr(e2charnum($n))
相同,$Name2character{$name}
和 chr($Name2character_number{$name})
也是如此,因为字符串以本机形式返回,而数字以 Unicode 形式返回。但是,对于从 v5.8 开始的 Perl 版本,e2char($n)
与 chr(utf8::unicode_to_native(e2charnum($n)))
相同,$Name2character{$name}
和 chr(utf8::unicode_to_native($Name2character_number{$name}))
也是如此。
Pod::Browser - 基于 Catalyst 的 pod 网页服务器。
Pod::Checker - 检查 pod 文档是否存在语法错误。
Pod::Coverage - 检查模块的文档是否全面。
perlpod - pod 格式的描述(适用于使用 pod 进行文档编制的人员)。
perlpodspec - pod 格式的规范(适用于处理 pod 格式的人员)。
Text::Unidecode - Unicode 文本的 ASCII 转写。
https://github.com/neilbowers/Pod-Escapes
版权所有 (c) 2001-2004 Sean M. Burke。保留所有权利。
此库是自由软件;您可以根据与 Perl 本身相同的条款重新分发和/或修改它。
此程序按“现状”提供,不提供任何形式的明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。
此模块中部分数据表源自 W3C XHTML 规范中的实体声明。
目前(2001 年 10 月),这三个是
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
Sean M. Burke [email protected]
现在由 Neil Bowers <[email protected]> 维护。