perlutil - Perl 发行版中打包的实用程序
除了 Perl 解释器本身,Perl 发行版还会在您的系统上安装一系列实用程序。还有一些实用程序在安装过程中由 Perl 发行版本身使用。本文件旨在列出所有这些实用程序,解释它们的用途,并提供指向每个模块文档的指针(如果适用)。
Perl 文档的主要接口是 perldoc,不过如果你正在阅读本文,你很可能已经找到了它。perldoc 将从当前目录中的任何文件、系统上安装的任何 Perl 模块或任何标准文档页面(如本文档)中提取并格式化文档。使用 perldoc <name>
获取有关本文档中描述的任何实用程序的信息。
如果从终端运行,perldoc 通常会调用 pod2man 将 POD(Plain Old Documentation - 请参阅 perlpod 以获取解释)转换为手册页,然后运行 man 来显示它;如果 man 不可用,则会使用 pod2text,并将输出通过你喜欢的分页器。
除了这两个之外,还有一个转换器:pod2html 将从 POD 生成 HTML 页面。
如果你只想了解如何使用此处描述的实用程序,pod2usage 只会提取“USAGE”部分;当你在调用它们时使用 -help
,一些实用程序会自动在自身上调用 pod2usage。
如果你正在用 POD 编写自己的文档,podchecker 实用程序将查找标记中的错误。
splain 是 perldiag 的接口 - 将你的错误消息粘贴到其中,它会为你解释。
roffitall 实用程序未安装在你的系统上,而是位于 Perl 源代码包的 pod/ 目录中;它将发行版中的所有文档转换为 *roff 格式,并生成整个文档的排版 PostScript 或文本文件。
要显示和更改 libnet 配置,请运行 libnetcfg 命令。
perlivp 程序在 Perl 源代码构建时设置,用于测试其构建的 Perl 版本。在运行 make install
(或您平台的等效过程)后,可以使用它来验证 perl 及其库是否已正确安装。
有一组实用程序可以帮助您开发 Perl 程序,特别是使用 C 扩展 Perl。
perlbug 曾经是向开发人员报告 perl 解释器本身或任何标准库模块中的错误的推荐方法;现在应该将错误报告和补丁提交到 https://github.com/Perl/perl5/issues。
此程序提供了一种简单的方法,可以向 perl 的作者和维护者发送感谢信息。它只是以另一个名称安装的 perlbug。
在 Perl 拥有用于连接 C 库的 XS 系统之前,程序员习惯于通过阅读 C 头文件来获取库常量。您可能仍然看到 require 'syscall.ph'
或类似的代码 - .ph 文件应该通过在相应的 .h 文件上运行 h2ph 来创建。有关如何一次转换大量头文件的更多信息,请参阅 h2ph 文档。
h2xs 将 C 头文件转换为 XS 模块,并将尝试编写尽可能多的 C 库和 Perl 模块之间的粘合代码。它对于创建纯 Perl 模块的框架也非常有用。
enc2xs 为 Encode 构建一个 Perl 扩展,用于 Unicode 字符映射文件 (.ucm) 或 Tcl 编码文件 (.enc)。除了在 Encode 模块的构建过程中内部使用外,您还可以使用 enc2xs 将自己的编码添加到 perl 中。无需了解 XS。
xsubpp 是一种编译器,用于将 Perl XS 代码转换为 C 代码。它通常由 ExtUtils::MakeMaker 创建的 makefile 运行。
xsubpp 将通过嵌入必要的结构来编译 XS 代码,以使 C 函数能够操作 Perl 值,并创建必要的粘合代码,以使 Perl 能够访问这些函数。
prove 是 Test::Harness 测试运行功能的命令行界面。它是 make test
的替代方案。
一个 Module::CoreList 的命令行前端,用于查询给定 Perl 版本中包含的模块。
Perl 附带了一些通用工具,主要是因为它们与 Perl 发行版中包含的模块一起提供。
encguess 将尝试猜测文件的字符编码。
json_pp 是一个纯 Perl JSON 转换器和格式化程序。
piconv 是 iconv(1) 的 Perl 版本,它是一个字符编码转换器,目前广泛用于各种 Unix 系统。这个脚本最初是 Perl v5.8.0 的技术演示,但您可以在几乎所有情况下使用 piconv 来代替 iconv。
ptar 是一个类似 tar 的程序,用纯 Perl 编写。
ptardiff 是一个小型实用程序,用于生成解压缩的存档和未解压缩的存档之间的差异。(请注意,此实用程序需要 Text::Diff 模块才能正常运行;此模块未与 perl 一起分发,但可从 CPAN 获得。)
ptargrep 是一个实用程序,用于将模式匹配应用于 tar 存档中文件的內容。
此实用程序与 Digest::SHA 模块一起提供,用于打印或验证 SHA 校验和。
streamzip 将流到 STDIN 的数据压缩到流式 zip 容器中。
zipdetails 显示有关 zip 文件内部记录结构的信息。它不关心显示 zip 文件中存储的压缩数据的任何详细信息。
这些实用程序有助于管理不随 perl 发行版提供的额外 Perl 模块。
cpan 是 CPAN.pm 的命令行界面。它允许您从 CPAN 安装模块或发行版,或者只是获取有关它们的的信息,以及更多功能。它类似于 CPAN 模块的命令行模式,
perl -MCPAN -e shell
一个用于 ExtUtils::Installed 的小界面,用于检查已安装的模块,验证您的包列表,甚至从已安装的模块创建 tarball。
perldoc,pod2man,pod2text,pod2html,pod2usage,podchecker,splain,pl2pm,perlbug,h2ph,h2xs,enc2xs,xsubpp,cpan,encguess,instmodsh,json_pp,piconv,prove,corelist,ptar,ptardiff,shasum,streamzip,zipdetails