8.40. Perl-5.32.1

Perl 软件包包含实用报表提取语言。

估计构建时间: 10 SBU
需要硬盘空间: 222 MB

8.40.1. 安装 Perl

该版本的 Perl 会构建 Compress::Raw::ZLib 和 Compress::Raw::BZip2 模块。默认情况下 Perl 会使用内部的源码副本构建它们。执行以下命令,使得 Perl 使用系统中已经安装好的库:

export BUILD_ZLIB=False
export BUILD_BZIP2=0

为了能够完全控制 Perl 的设置,您可以在以下命令中移除 -des 选项,并手动选择构建该软件包的方式。或者,直接使用下面的命令,以使用 Perl 自动检测的默认值:

sh Configure -des                                         \
             -Dprefix=/usr                                \
             -Dvendorprefix=/usr                          \
             -Dprivlib=/usr/lib/perl5/5.32/core_perl      \
             -Darchlib=/usr/lib/perl5/5.32/core_perl      \
             -Dsitelib=/usr/lib/perl5/5.32/site_perl      \
             -Dsitearch=/usr/lib/perl5/5.32/site_perl     \
             -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl  \
             -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl \
             -Dman1dir=/usr/share/man/man1                \
             -Dman3dir=/usr/share/man/man3                \
             -Dpager="/usr/bin/less -isR"                 \
             -Duseshrplib                                 \
             -Dusethreads

配置选项的含义:

-Dvendorprefix=/usr

这保证 perl 知道如何告知软件包应该在哪里安装它们的 perl 模块。

-Dpager="/usr/bin/less -isR"

这保证该软件包使用 less 对输出进行分页,而不是使用 more

-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3

由于 Groff 还没有安装,Configure 认为我们不需要 Perl 的 man 页面。这些参数覆盖这个判断。

-Duseshrplib

构建 libperl 共享库,一些 perl 模块需要它。

-Dusethreads

构建带有线程支持的 perl。

-Dprivlib,-Darchlib,-Dsitelib,...

这些选项定义 Perl 查找系统上安装的模块的位置。LFS 编辑决定将它们存放在以主版本号.次版本号 (如 5.32) 格式表示 Perl 版本的目录结构中,使得可以在升级 Perl 到更新的修订号 (修订号即类似 5.32.1 这样的完整版本号中最后一部分) 时,不需要重新安装所有模块。

编译该软件包:

make

为了测试编译结果 (需要约 11 SBU),执行以下命令:

make test

安装该软件包,并清理环境变量:

make install
unset BUILD_ZLIB BUILD_BZIP2

8.40.2. Perl 的内容

安装的程序: corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.32.1 (指向 perl 的硬链接), perlbug, perldoc, perlivp, perlthanks (指向 perlbug 的硬链接), piconv, pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect, prove, ptar, ptardiff, ptargrep, shasum, splain, xsubpp, 以及 zipdetails
安装的库: 很多,无法在这里全部列出
安装的目录: /usr/lib/perl5

简要描述

corelist

Module::CoreList 的命令行前端

cpan

通过命令行与 Perl 综合归档网络 (CPAN) 交互

enc2xs

从 Unicode 字符映射或 Tcl 编码文件构建 Encode 模块使用的 Perl 扩展

encguess

猜测一些文件的编码格式

h2ph

.h C 头文件转化为 .ph Perl 头文件

h2xs

.h C 头文件转化为 Perl 扩展

instmodsh

用于检验安装好的 Perl 模块的 shell 脚本,可以从安装好的模块创建压缩包

json_pp

在特定输入输出格式之间转化数据

libnetcfg

可以被用于配置 libnet Perl 模块

perl

由 C 语言、sedawksh 的最好特性结合成的一门瑞士军刀式语言

perl5.32.1

指向 perl 的硬链接

perlbug

用于创建关于 Perl 或者它附带的模块的 bug 报告,并用邮件发送它们

perldoc

显示集成在 Perl 安装目录树或某个 Perl 脚本中的一页 pod 格式文档

perlivp

Perl 安装检验程序;它可以被用于确认 Perl 和它的库都安装正确

perlthanks

用于生成发送给 Perl 开发者的感谢信

piconv

字符编码转换器 iconv 的 Perl 版本

pl2pm

一个用于将 Perl4 .pl 文件转换成 Perl5 .pm 模块的粗糙工具

pod2html

将 pod 格式的文件转换为 HTML 格式

pod2man

将 pod 数据转换为格式化的 *roff 输入

pod2text

将 pod 数据转化为格式化的 ASCII 文本

pod2usage

输出文件中嵌入的 pod 文档中的使用方法信息

podchecker

检查 pod 格式文档文件的语法

podselect

显示 pod 文档中的指定章节

prove

用于运行使用 Test::Harness 模块的测试

ptar

一个 Perl 编写的类似 tar 的程序

ptardiff

一个比较压缩档案和未压缩版本的 Perl 程序

ptargrep

一个在 tar 档案中的文件内容上进行模式匹配的 Perl 程序

shasum

打印或检查 SHA 校验和

splain

被用于 Perl 的强制性详细警告诊断

xsubpp

将 Perl XS 代码转换为 C 代码

zipdetails

显示 Zip 文件内部结构的详细信息