内容

名称

perlmodlib - 构建新的 Perl 模块并查找现有的模块

PERL 模块库

Perl 发行版中包含许多模块。这些模块在下面描述,并且都以 .pm 结尾。您可能会发现编译后的库文件(通常以 .so 结尾)或要自动加载的小模块片段(以 .al 结尾);这些文件是在安装过程中自动生成的。您还可能会在库目录中发现以 .pl.ph 结尾的文件。这些是提供的旧库,以便使用它们的旧程序仍然可以运行。.pl 文件最终将全部转换为标准模块,而由 h2ph 生成的 .ph 文件可能会最终成为由 h2xs 生成的扩展模块。(某些 .ph 值可能已经可以通过 POSIX、Errno 或 Fcntl 模块获得。)发行版中的 pl2pm 文件可能有助于您的转换,但它只是一个机械过程,因此远非万无一失。

实用模块

它们的工作方式有点像编译器指令(pragma),因为它们往往会影响程序的编译,因此通常只有在useno中使用时才能正常工作。大多数这些指令是词法作用域的,因此内部 BLOCK 可以通过以下方式来抵消它们

no integer;
no strict 'refs';
no warnings;

它一直持续到该 BLOCK 的末尾。

一些 pragma 是词法作用域的,通常是那些影响$^H提示变量的 pragma。其他 pragma 影响当前包,例如use varsuse subs,它们允许你在特定文件中预先声明变量或子程序,而不仅仅是块。此类声明对声明它们的整个文件有效。你无法使用no varsno subs撤销它们。

以下 pragma 已定义(并有自己的文档)。

attributes

获取/设置子程序或变量属性

autodie

用在词法作用域内成功或死亡的函数替换函数

autodie::exception

来自自动死亡函数的异常。

autodie::exception::system

来自自动死亡 system() 的异常。

autodie::hints

提供有关用户子程序的提示给 autodie

autodie::skip

在抛出 autodie 异常时跳过一个包

autouse

将模块的加载推迟到函数使用时

base

在编译时建立与基类的 ISA 关系

bigfloat

为 Perl 提供透明的大浮点数支持

bigint

为 Perl 提供透明的大整数支持

bignum

为 Perl 提供透明的大数支持

bigrat

为 Perl 提供透明的大有理数支持

blib

使用 MakeMaker 未安装版本的包

builtin

导入内置实用程序函数

bytes

公开字符的各个字节

charnames

访问 Unicode 字符名称和命名字符序列;也定义字符名称

constant

声明常量

deprecate

Perl 编译指令,用于弃用在核心代码中包含模块

diagnostics

生成详细的警告诊断信息

encoding

允许您使用非 ASCII 和非 UTF-8 编码编写脚本

encoding::warnings

在隐式编码转换时发出警告

experimental

简化实验性功能的使用

feature

启用新功能

fields

编译时类字段

filetest

控制文件测试权限运算符

if

如果条件成立,则use Perl 模块

integer

使用整数运算而不是浮点运算

less

请求更少的东西

lib

在编译时操作 @INC

locale

对内置操作使用或避免 POSIX 本地化

mro

方法解析顺序

ok

Test::More::use_ok 的替代方案

open

为输入和输出设置默认 PerlIO 层

ops

在编译时限制不安全操作

overload

用于重载 Perl 操作的包

overloading

词法控制重载

parent

在编译时建立与基类的 ISA 关系

re

更改正则表达式的行为

sigtrap

启用简单的信号处理

sort

控制 sort() 的行为

stable

简化实验性功能的使用,一旦我们知道它们是稳定的

strict

限制不安全结构

subs

预声明子程序名称

threads

基于 Perl 解释器的线程

threads::shared

用于在线程之间共享数据结构的 Perl 扩展

utf8

启用/禁用源代码中的 UTF-8(或 UTF-EBCDIC)

vars

预先声明全局变量名

version

用于版本对象的 Perl 扩展

vmsish

控制 VMS 特定的语言特性

warnings

控制可选警告

warnings::register

警告导入函数

标准模块

标准的捆绑模块都期望在命名空间污染方面表现良好,因为它们使用 Exporter 模块。有关详细信息,请参阅它们自己的文档。

并非所有列出的模块都安装在您的系统上。例如,如果您没有 gdbm 库,则不会安装 GDBM_File 模块。

Amiga::ARexx

用于 ARexx 支持的 Perl 扩展

Amiga::Exec

用于低级 Amiga 支持的 Perl 扩展

AnyDBM_File

为多个 DBM 提供框架

App::Cpan

从命令行轻松与 CPAN 交互

App::Prove

实现 prove 命令。

App::Prove::State

prove 命令的状态存储。

App::Prove::State::Result

单个测试套件结果。

App::Prove::State::Result::Test

单个测试结果。

Archive::Tar

用于操作 tar 档案的模块

Archive::Tar::File

Archive::Tar 中内存中提取文件的子类

Attribute::Handlers

属性处理程序的简化定义

AutoLoader

仅按需加载子例程

AutoSplit

拆分一个包以进行自动加载

B

Perl 编译器后端

B::Concise

遍历 Perl 语法树,打印关于操作的简洁信息

B::Deparse

Perl 编译器后端,用于生成 Perl 代码

B::Op_private

OP op_private 标志定义

B::Showlex

显示函数或文件中使用的词法变量

B::Terse

遍历 Perl 语法树,打印关于操作的简短信息

B::Xref

为 Perl 程序生成交叉引用报告

Benchmark

对 Perl 代码的运行时间进行基准测试

IO::Socket::IP

支持 IPv4 和 IPv6 的族中立 IP 套接字

Socket

网络常量和支持函数

CORE

Perl 核心例程的命名空间

CPAN

从 CPAN 站点查询、下载和构建 Perl 模块

CPAN::API::HOWTO

使用 CPAN.pm 进行编程的食谱

CPAN::Debug

CPAN.pm 的内部调试

CPAN::Distroprefs

读取和匹配 distroprefs

CPAN::FirstTime

CPAN::Config 文件初始化的实用程序

CPAN::HandleConfig

CPAN.pm 的内部配置处理

CPAN::Kwalify

CPAN.pm 和 Kwalify.pm 之间的接口

CPAN::Meta

CPAN 分发的发行版元数据

CPAN::Meta::Converter

转换 CPAN 分发元数据结构

CPAN::Meta::Feature

CPAN 分发提供的可选功能

CPAN::Meta::History

CPAN 元数据规范变更历史

CPAN::Meta::History::Meta_1_0

META.yml 的 1.0 版本元数据规范

CPAN::Meta::History::Meta_1_1

META.yml 的 1.1 版本元数据规范

CPAN::Meta::History::Meta_1_2

META.yml 的 1.2 版本元数据规范

CPAN::Meta::History::Meta_1_3

META.yml 的 1.3 版本元数据规范

CPAN::Meta::History::Meta_1_4

META.yml 的 1.4 版本元数据规范

CPAN::Meta::Merge

合并 CPAN 元数据片段

CPAN::Meta::Prereqs

按阶段和类型划分的一组发行版先决条件

CPAN::Meta::Requirements

CPAN 发行版的一组版本要求

CPAN::Meta::Spec

CPAN 发行版元数据的规范

CPAN::Meta::Validator

验证 CPAN 发行版元数据结构

CPAN::Meta::YAML

读取和写入 CPAN 元数据文件的一组 YAML 子集

CPAN::Nox

CPAN.pm 的包装器,不使用任何 XS 模块

CPAN::Plugin

CPAN shell 扩展的基类

CPAN::Plugin::Specfile

一个简单的 CPAN::Plugin 的概念验证实现

CPAN::Queue

CPAN.pm 的内部队列支持

CPAN::Tarzip

CPAN.pm 的 tar 档案的内部处理

CPAN::Version

用于比较 CPAN 版本的实用程序函数

Carp

模块的替代 warn 和 die

Class::Struct

将类似结构的数据类型声明为 Perl 类

Compress::Raw::Bzip2

bzip2 压缩库的低级接口

Compress::Raw::Zlib

zlib 或 zlib-ng 压缩库的低级接口

Compress::Zlib

zlib 压缩库的接口

Config

访问 Perl 配置信息

Config::Extensions

哈希查找哪些核心扩展被构建。

Config::Perl::V

perl -V 输出的结构化数据检索

Cwd

获取当前工作目录的路径名

DB

Perl 调试 API 的编程接口

DBM_Filter

过滤 DBM 键/值

DBM_Filter::compress

DBM_Filter 的过滤器

DBM_Filter::encode

DBM_Filter 的过滤器

DBM_Filter::int32

DBM_Filter 的过滤器

DBM_Filter::null

DBM_Filter 的过滤器

DBM_Filter::utf8

DBM_Filter 的过滤器

DB_File

Perl5 访问 Berkeley DB 版本 1.x

Data::Dumper

字符串化的 perl 数据结构,适合打印和 eval

Devel::PPPort

Perl/污染/可移植性

Devel::Peek

XS 程序员的数据调试工具

Devel::SelfStubber

为自加载模块生成存根

Digest

计算消息摘要的模块

Digest::MD5

Perl 对 MD5 算法的接口

Digest::SHA

Perl 扩展,用于 SHA-1/224/256/384/512

Digest::base

摘要基类

Digest::file

计算文件的摘要

DirHandle

(已过时) 为目录句柄提供对象方法

Dumpvalue

提供 Perl 数据的屏幕转储。

DynaLoader

将 C 库动态加载到 Perl 代码中

Encode

Perl 中的字符编码

Encode::Alias

编码的别名定义

Encode::Byte

单字节编码

Encode::CJKConstants

Encode::??::ISO_2022_* 内部使用

Encode::CN

中国大陆的中文编码

Encode::CN::HZ

Encode::CN 内部使用

Encode::Config

Encode 内部使用

Encode::EBCDIC

EBCDIC 编码

Encode::Encoder

面向对象的编码器

Encode::Encoding

编码实现基类

Encode::GSM0338

ETSI GSM 03.38 编码

Encode::Guess

从数据中猜测编码

Encode::JP

日语编码

Encode::JP::H2Z

Encode::JP::2022_JP* 内部使用

Encode::JP::JIS7

Encode::JP 内部使用

Encode::KR

韩语编码

Encode::KR::2022_KR

Encode::KR 内部使用

Encode::MIME::Header

用于非结构化电子邮件头的 MIME 编码

Encode::MIME::Name

Encode 内部使用

Encode::PerlIO

关于 Encode 和 PerlIO 的详细文档

Encode::Supported

Encode 支持的编码

Encode::Symbol

符号编码

Encode::TW

台湾地区的中文编码

Encode::Unicode

各种 Unicode 转换格式

Encode::Unicode::UTF7

UTF-7 编码

English

使用友好的英文(或 awk)名称来代替难看的标点符号变量

Env

Perl 模块,将环境变量导入为标量或数组

Errno

系统 errno 常量

Exporter

为模块实现默认导入方法

Exporter::Heavy

Exporter 的核心部分

ExtUtils::CBuilder

为 Perl 模块编译和链接 C 代码

ExtUtils::CBuilder::Platform::Windows

Windows 平台的构建器类

ExtUtils::Command

用于在 Makefile 等文件中替换常见 UNIX 命令的实用程序

ExtUtils::Command::MM

MM 在 Makefile 中使用的命令

ExtUtils::Constant

生成 XS 代码以导入 C 头文件常量

ExtUtils::Constant::Base

ExtUtils::Constant 对象的基类

ExtUtils::Constant::Utils

ExtUtils::Constant 的辅助函数

ExtUtils::Constant::XS

为 XS 模块的常量生成 C 代码。

ExtUtils::Embed

在 C/C++ 应用程序中嵌入 Perl 的实用程序

ExtUtils::Install

将文件从这里安装到那里

ExtUtils::Installed

已安装模块的库存管理

ExtUtils::Liblist

确定要使用的库以及如何使用它们

ExtUtils::MM

针对操作系统的 ExtUtils::MakeMaker 子类

ExtUtils::MM_AIX

ExtUtils::MM_Unix 的 AIX 特定子类

ExtUtils::MM_Any

与平台无关的 MM 方法

ExtUtils::MM_BeOS

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_Cygwin

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_DOS

ExtUtils::MM_Unix 的 DOS 特定子类

ExtUtils::MM_Darwin

OS X 的特殊行为

ExtUtils::MM_MacOS

曾经为 MacOS Classic 生成的 Makefile

ExtUtils::MM_NW5

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_OS2

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_OS390

OS390 特定的 ExtUtils::MM_Unix 子类

ExtUtils::MM_QNX

QNX 特定的 ExtUtils::MM_Unix 子类

ExtUtils::MM_UWIN

U/WIN 特定的 ExtUtils::MM_Unix 子类

ExtUtils::MM_Unix

ExtUtils::MakeMaker 使用的方法

ExtUtils::MM_VMS

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_VOS

VOS 特定的 ExtUtils::MM_Unix 子类

ExtUtils::MM_Win32

用于覆盖 ExtUtils::MakeMaker 中 UN*X 行为的方法

ExtUtils::MM_Win95

用于为 Win9X 定制 MakeMaker 的方法

ExtUtils::MY

用于定制的 ExtUtils::MakeMaker 子类

ExtUtils::MakeMaker

创建模块 Makefile

ExtUtils::MakeMaker::Config

Config.pm 的包装器

ExtUtils::MakeMaker::FAQ

关于 MakeMaker 的常见问题解答

ExtUtils::MakeMaker::Locale

捆绑的 Encode::Locale

ExtUtils::MakeMaker::Tutorial

使用 MakeMaker 编写模块

ExtUtils::Manifest

用于编写和检查 MANIFEST 文件的实用程序

ExtUtils::Miniperl

编写 miniperlmain.c 和 perlmain.c 的 C 代码

ExtUtils::Mkbootstrap

为 DynaLoader 创建引导文件

ExtUtils::Mksymlists

为动态扩展编写链接器选项文件

ExtUtils::PL2Bat

在 Windows 上运行 Perl 脚本的批处理文件创建

ExtUtils::Packlist

管理 .packlist 文件

ExtUtils::ParseXS

将 Perl XS 代码转换为 C 代码

ExtUtils::ParseXS::Constants

一些全局变量的初始化值

ExtUtils::ParseXS::Eval

用于评估代码的干净包

ExtUtils::ParseXS::Utilities

与 ExtUtils::ParseXS 一起使用的子例程

ExtUtils::Typemaps

读取/写入/修改 Perl/XS 类型映射文件

ExtUtils::Typemaps::Cmd

处理类型映射的快速命令

ExtUtils::Typemaps::InputMap

类型映射 INPUT 部分的条目

ExtUtils::Typemaps::OutputMap

类型映射 OUTPUT 部分的条目

ExtUtils::Typemaps::Type

类型映射 TYPEMAP 部分的条目

ExtUtils::XSSymSet

保持符号名称集对 VMS 链接器友好

ExtUtils::testlib

将 blib/* 目录添加到 @INC

Fatal

用等效函数替换函数,这些函数成功或死亡

Fcntl

加载 C Fcntl.h 定义

File::Basename

将文件路径解析为目录、文件名和后缀。

File::Compare

比较文件或文件句柄

File::Copy

复制文件或文件句柄

File::DosGlob

类似 DOS 的通配符,以及更多

File::Fetch

通用的文件获取机制

File::Find

遍历目录树。

File::Glob

Perl 扩展,用于 BSD glob 例程

File::GlobMapper

扩展文件 Glob 以允许输入和输出文件

File::Path

创建或删除目录树

File::Spec

可移植地对文件名执行操作

File::Spec::AmigaOS

AmigaOS 的 File::Spec

File::Spec::Cygwin

Cygwin 文件规范的方法

File::Spec::Epoc

Epoc 文件规范的方法

File::Spec::Functions

可移植地对文件名执行操作

File::Spec::Mac

Mac OS(经典)的 File::Spec

File::Spec::OS2

OS/2 文件规范的方法

File::Spec::Unix

Unix 的 File::Spec,其他 File::Spec 模块的基础

File::Spec::VMS

VMS 文件规范的方法

File::Spec::Win32

Win32 文件规范的方法

File::Temp

安全地返回临时文件的名字和句柄

File::stat

Perl 内置 stat() 函数的按名称接口

FileCache

保持比系统允许的更多文件打开

FileHandle

为文件句柄提供对象方法

Filter::Simple

简化的源代码过滤

Filter::Util::Call

Perl 源代码过滤器实用程序模块

FindBin

定位原始 perl 脚本的目录

GDBM_File

Perl5 对 gdbm 库的访问。

Getopt::Long

扩展的命令行选项处理

Getopt::Std

处理带开关聚类的单字符开关

HTTP::Tiny

一个小型、简单、正确的 HTTP/1.1 客户端

Hash::Util

通用哈希子例程的集合

Hash::Util::FieldHash

支持内向类

I18N::Collate

根据当前区域设置比较 8 位标量数据

I18N::LangTags

处理 RFC3066 风格语言标签的函数

I18N::LangTags::Detect

检测用户的语言偏好

I18N::LangTags::List

人类语言的标签和名称

I18N::Langinfo

查询区域设置信息

IO

加载各种 IO 模块

IO::Compress::Base

IO::Compress 模块的基类

IO::Compress::Bzip2

写入 bzip2 文件/缓冲区

IO::Compress::Deflate

写入 RFC 1950 文件/缓冲区

IO::Compress::FAQ

关于 IO::Compress 的常见问题解答

IO::Compress::Gzip

写入 RFC 1952 文件/缓冲区

IO::Compress::RawDeflate

写入 RFC 1951 文件/缓冲区

IO::Compress::Zip

写入 zip 文件/缓冲区

IO::Dir

为目录句柄提供对象方法

IO::File

为文件句柄提供对象方法

IO::Handle

为 I/O 句柄提供对象方法

IO::Pipe

为管道提供对象方法

IO::Poll

系统轮询调用的对象接口

IO::Seekable

为 I/O 对象提供基于查找的方法

IO::Select

OO 接口到 select 系统调用

IO::Socket

套接字通信的对象接口

IO::Socket::INET

AF_INET 域套接字的对象接口

IO::Socket::UNIX

AF_UNIX 域套接字的对象接口

IO::Uncompress::AnyInflate

解压缩基于 zlib 的(zip、gzip)文件/缓冲区

IO::Uncompress::AnyUncompress

解压缩 gzip、zip、bzip2、zstd、xz、lzma、lzip、lzf 或 lzop 文件/缓冲区

IO::Uncompress::Base

IO::Uncompress 模块的基类

IO::Uncompress::Bunzip2

读取 bzip2 文件/缓冲区

IO::Uncompress::Gunzip

读取 RFC 1952 文件/缓冲区

IO::Uncompress::Inflate

读取 RFC 1950 文件/缓冲区

IO::Uncompress::RawInflate

读取 RFC 1951 文件/缓冲区

IO::Uncompress::Unzip

读取 zip 文件/缓冲区

IO::Zlib

IO:: 风格接口到 Compress::Zlib

IPC::Cmd

轻松查找和运行系统命令

IPC::Msg

SysV Msg IPC 对象类

IPC::Open2

使用 open2() 打开用于读写进程

IPC::Open3

使用 open3() 打开用于读、写和错误处理的进程

IPC::Semaphore

SysV 信号量 IPC 对象类

IPC::SharedMem

SysV 共享内存 IPC 对象类

IPC::SysV

System V IPC 常量和系统调用

内部机制

为内部相关函数保留的特殊命名空间

JSON::PP

与 JSON::XS 兼容的纯 Perl 模块。

JSON::PP::Boolean

提供 JSON::PP::Boolean 的虚拟模块

List::Util

一系列通用的列表子例程

List::Util::XS

指示 List::Util 是否使用 C 编译器编译

Locale::Maketext

本地化框架

Locale::Maketext::Cookbook

使用 Locale::Maketext 的食谱

Locale::Maketext::Guts

加载 Locale::Maketext utf8 代码的已弃用模块

Locale::Maketext::GutsLoader

加载 Locale::Maketext utf8 代码的已弃用模块

Locale::Maketext::Simple

Locale::Maketext::Lexicon 的简单接口

Locale::Maketext::TPJ13

关于软件本地化的文章

MIME::Base64

Base64 字符串的编码和解码

MIME::QuotedPrint

可打印引号字符串的编码和解码

Math::BigFloat

任意大小浮点数数学包

Math::BigInt

任意大小整数数学包

Math::BigInt::Calc

支持 Math::BigInt 的纯 Perl 模块

Math::BigInt::FastCalc

Math::BigInt::Calc,使用一些 XS 以提高速度

Math::BigInt::Lib

Math::BigInt 库的虚拟父类

Math::BigRat

任意大小有理数数学包

Math::Complex

复数和相关的数学函数

Math::Trig

三角函数

Memoize

通过用空间换时间来使函数更快

Memoize::AnyDBM_File

用于为 Storable 提供 AnyDBM_File 的 EXISTS 胶水

Memoize::Expire

用于自动过期记忆值的插件模块

Memoize::NDBM_File

用于为 Storable 提供 NDBM_File 的 EXISTS 胶水

Memoize::SDBM_File

已弃用兼容性垫片

Memoize::Storable

将记忆数据存储在 Storable 数据库中

Module::CoreList

Perl 版本附带的模块

Module::CoreList::Utils

Perl 版本附带的实用程序

Module::Load

模块和文件的运行时要求

Module::Load::Conditional

在运行时查找模块信息/加载

Module::Loaded

将模块标记为已加载或未加载

Module::Metadata

从 Perl 模块文件中收集包和 POD 信息

NDBM_File

对 ndbm 文件的绑定访问

NEXT

提供一个伪类 NEXT(等等),允许方法重新调度

Net::Cmd

网络命令类(如 FTP、SMTP 等使用)

Net::Config

libnet 的本地配置数据

Net::Domain

尝试评估当前主机的互联网名称和域

Net::FTP

FTP 客户端类

Net::FTP::dataconn

FTP 客户端数据连接类

Net::NNTP

NNTP 客户端类

Net::Netrc

对用户 netrc 文件的 OO 接口

Net::POP3

邮局协议 3 客户端类 (RFC1939)

Net::Ping

检查远程主机是否可达

Net::SMTP

简单邮件传输协议客户端

Net::Time

时间和日期网络客户端接口

Net::hostent

Perl 内置 gethost*() 函数的按名称接口

Net::libnetFAQ

Libnet 常见问题解答

Net::netent

Perl 内置 getnet*() 函数的按名称接口

Net::protoent

Perl 内置 getproto*() 函数的按名称接口

Net::servent

Perl 内置 getserv*() 函数的按名称接口

O

Perl 编译器后端的通用接口

ODBM_File

绑定访问 odbm 文件

Opcode

在编译 Perl 代码时禁用命名操作码

POSIX

Perl 对 IEEE Std 1003.1 的接口

Params::Check

通用的输入解析/检查机制。

Parse::CPAN::Meta

解析 META.yml 和 META.json CPAN 元数据文件

Perl::OSType

将 Perl 操作系统名称映射到通用类型

PerlIO

PerlIO 层的按需加载器和 PerlIO::* 命名空间的根

PerlIO::encoding

编码层

PerlIO::mmap

内存映射 IO

PerlIO::scalar

内存中 IO,标量 IO

PerlIO::via

Perl 中实现的 PerlIO 层的辅助类

PerlIO::via::QuotedPrint

用于 Quoted-Printable 字符串的 PerlIO 层

Pod::Checker

检查 Pod 文档是否存在语法错误

Pod::Escapes

用于解析 Pod E<...> 序列

Pod::Functions

按 perlfunc.pod 的方式对 Perl 函数进行分组

Pod::Html

将 Pod 文件转换为 HTML 的模块

Pod::Html::Util

Pod-Html 的辅助函数

Pod::Man

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

解析 POD 文本中的 L<> 格式化代码

Pod::Perldoc

查找 Pod 格式的 Perl 文档。

Pod::Perldoc::BaseTo

Pod::Perldoc 格式化程序的基础

Pod::Perldoc::GetOptsOO

Pod::Perldoc 的自定义选项解析器

Pod::Perldoc::ToANSI

使用 ANSI 颜色转义符渲染 Pod

Pod::Perldoc::ToChecker

让 Perldoc 检查 Pod 中的错误

Pod::Perldoc::ToMan

让 Perldoc 将 Pod 渲染为手册页

Pod::Perldoc::ToNroff

让 Perldoc 将 Pod 转换为 nroff

Pod::Perldoc::ToPod

让 Perldoc 将 Pod 渲染为 ... Pod!

Pod::Perldoc::ToRtf

让 Perldoc 将 Pod 渲染为 RTF

Pod::Perldoc::ToTerm

使用终端转义符渲染 Pod

Pod::Perldoc::ToText

让 Perldoc 将 Pod 渲染为纯文本

Pod::Perldoc::ToTk

让 Perldoc 使用 Tk::Pod 渲染 Pod

Pod::Perldoc::ToXml

让 Perldoc 将 Pod 渲染为 XML

Pod::Simple

解析 Pod 的框架

Pod::Simple::Checker

检查文档的 Pod 语法

Pod::Simple::Debug

将 Pod::Simple 设置为跟踪/调试模式

Pod::Simple::DumpAsText

将 Pod 解析事件转储为文本

Pod::Simple::DumpAsXML

将 Pod 转换为 XML

Pod::Simple::HTML

将 Pod 转换为 HTML

Pod::Simple::HTMLBatch

将多个 Pod 文件转换为多个 HTML 文件

Pod::Simple::JustPod

只保留 Pod,完整的 Pod,并且只有 Pod

表示 L 代码的“section”属性

Pod::Simple::Methody

将 Pod::Simple 事件转换为方法调用

Pod::Simple::PullParser

解析 Pod 的拉取解析器接口

Pod::Simple::PullParserEndToken

来自 Pod::Simple::PullParser 的结束标记

Pod::Simple::PullParserStartToken

来自 Pod::Simple::PullParser 的开始标记

Pod::Simple::PullParserTextToken

来自 Pod::Simple::PullParser 的文本标记

Pod::Simple::PullParserToken

来自 Pod::Simple::PullParser 的标记

Pod::Simple::RTF

将 Pod 格式化为 RTF

Pod::Simple::Search

在目录树中查找 POD 文档

Pod::Simple::SimpleTree

将 Pod 解析为简单的解析树

Pod::Simple::Subclassing

将格式化程序编写为 Pod::Simple 子类

Pod::Simple::Text

将 Pod 格式化为纯文本

Pod::Simple::TextContent

获取 Pod 的文本内容

Pod::Simple::XHTML

将 Pod 格式化为验证 XHTML

Pod::Simple::XMLOutStream

将 Pod 转换为 XML

Pod::Text

将 POD 数据转换为格式化文本

Pod::Text::Color

将 POD 数据转换为格式化的彩色 ASCII 文本

Pod::Text::Overstrike

将 POD 数据转换为格式化的删除线文本

Pod::Text::Termcap

将 POD 数据转换为带有格式转义的 ASCII 文本

Pod::Usage

提取 POD 文档并显示使用信息

SDBM_File

对 sdbm 文件的绑定访问

Safe

在受限的隔室中编译和执行代码

Scalar::Util

一系列通用的标量子程序

Search::Dict

查找 - 在字典文件中搜索键

SelectSaver

保存和恢复选定的文件句柄

SelfLoader

仅按需加载函数

Storable

Perl 数据结构的持久性

Sub::Util

一系列用于子程序和 CODE 引用 的实用子程序

Symbol

操作 Perl 符号及其名称

Sys::Hostname

尝试所有可行的方法获取主机名

Sys::Syslog

Perl 对 UNIX syslog(3) 调用的接口

Sys::Syslog::Win32

Sys::Syslog 的 Win32 支持

TAP::Base

提供 TAP::Parser 的通用功能的基类

TAP::Formatter::Base

用于测试程序输出委托的基类

TAP::Formatter::Color

使用颜色运行 Perl 测试脚本

TAP::Formatter::Console

用于默认控制台输出的测试程序输出委托

TAP::Formatter::Console::ParallelSession

用于并行控制台输出的测试程序输出委托

TAP::Formatter::Console::Session

用于默认控制台输出的测试程序输出委托

TAP::Formatter::File

用于文件输出的测试结果委托

TAP::Formatter::File::Session

用于文件输出的测试结果委托

TAP::Formatter::Session

测试结果委托的抽象基类

TAP::Harness

运行测试脚本并统计结果

TAP::Harness::Env

解析与测试运行相关的环境变量

TAP::Object

所有 TAP::* 模块的基类,提供通用功能

TAP::Parser

解析 TAP 输出

TAP::Parser::Aggregator

聚合 TAP::Parser 结果

TAP::Parser::Grammar

测试任何协议的语法

TAP::Parser::Iterator

TAP 源迭代器的基类

TAP::Parser::Iterator::Array

基于数组的 TAP 源迭代器

TAP::Parser::Iterator::Process

基于进程的 TAP 源迭代器

TAP::Parser::Iterator::Stream

基于文件句柄的 TAP 源迭代器

TAP::Parser::IteratorFactory

确定为给定源使用哪个 SourceHandler 对象

TAP::Parser::Multiplexer

多路复用多个 TAP::Parsers

TAP::Parser::Result

TAP::Parser 输出对象的基类

TAP::Parser::Result::Bailout

退出结果标记

TAP::Parser::Result::Comment

注释结果标记

TAP::Parser::Result::Plan

计划结果标记

TAP::Parser::Result::Pragma

TAP 编译指示标记

TAP::Parser::Result::Test

测试结果标记

TAP::Parser::Result::Unknown

未知结果标记

TAP::Parser::Result::Version

TAP 语法版本标记。

TAP::Parser::Result::YAML

YAML 结果标记。

TAP::Parser::ResultFactory

用于创建 TAP::Parser 输出对象的工厂。

TAP::Parser::Scheduler

在并行测试期间调度测试。

TAP::Parser::Scheduler::Job

单个测试作业。

TAP::Parser::Scheduler::Spinner

一个空操作作业。

TAP::Parser::Source

TAP 源代码及其元数据。

TAP::Parser::SourceHandler

不同 TAP 源处理程序的基类。

TAP::Parser::SourceHandler::Executable

从可执行 TAP 源流式传输输出。

TAP::Parser::SourceHandler::File

从文本文件流式传输 TAP。

TAP::Parser::SourceHandler::Handle

从 IO::Handle 或 GLOB 流式传输 TAP。

TAP::Parser::SourceHandler::Perl

从 Perl 可执行文件流式传输 TAP。

TAP::Parser::SourceHandler::RawTAP

从标量/数组引用中的原始 TAP 流式传输输出。

TAP::Parser::YAMLish::Reader

从迭代器读取 YAMLish 数据。

TAP::Parser::YAMLish::Writer

写入 YAMLish 数据。

Term::ANSIColor

使用 ANSI 转义序列为屏幕输出着色。

Term::Cap

Perl termcap 接口。

Term::Complete

Perl 单词补全模块。

Term::ReadLine

Perl 与各种 readline 包的接口。

Test

提供一个用于编写测试脚本的简单框架。

Test2

用于编写协同工作的测试工具的框架。

Test2::API

用于编写基于 Test2 的测试工具的主要接口。

Test2::API::Breakage

哪些版本会发生故障

Test2::API::Context

表示测试上下文的对象。

Test2::API::Instance

Test2::API 内部使用的对象

Test2::API::InterceptResult

事件列表的表示。

Test2::API::InterceptResult::Event

用于表示事件

Test2::API::InterceptResult::Hub

InterceptResult 使用的中心。

Test2::API::InterceptResult::Squasher

对算法的封装

Test2::API::Stack

用于管理 Test2::Hub 栈的对象

Test2::Event

事件的基类

Test2::Event::Bail

退出!

Test2::Event::Diag

Diag 事件类型

Test2::Event::Encoding

设置输出流的编码

Test2::Event::Exception

异常事件

Test2::Event::Fail

简单失败断言的事件

Test2::Event::Generic

通用事件类型。

Test2::Event::Note

注意事件类型

Test2::Event::Ok

Ok 事件类型

Test2::Event::Pass

简单通过断言的事件

Test2::Event::Plan

计划的事件

Test2::Event::Skip

跳过事件类型

Test2::Event::Subtest

子测试类型的事件

Test2::Event::TAP::Version

TAP 版本的事件。

Test2::Event::V2

第二代事件。

Test2::Event::Waiting

告诉所有进程/线程,现在该结束了。

Test2::EventFacet

所有事件面的基类。

Test2::EventFacet::About

包含事件详细信息的面。

Test2::EventFacet::Amnesty

断言赦免的面。

Test2::EventFacet::Assert

代表断言的面。

Test2::EventFacet::Control

用于中心操作和行为的面。

Test2::EventFacet::Error

用于需要显示的错误的面。

Test2::EventFacet::Hub

用于事件经过的中心的的面。

Test2::EventFacet::Info

用于开发人员可能关心的信息的面。

Test2::EventFacet::Info::Table

表格的中间表示。

Test2::EventFacet::Meta

用于元数据的的面。

Test2::EventFacet::Parent

用于包含其他事件的事件的面。

Test2::EventFacet::Plan

用于设置计划的面。

Test2::EventFacet::Render

用于指示如何渲染事件的面。

Test2::EventFacet::Trace

用于事件的调试信息。

Test2::Formatter

用于格式化程序的命名空间。

Test2::Formatter::TAP

标准 TAP 格式化程序。

Test2::Hub

所有事件流经的管道。

Test2::Hub::Interceptor

拦截器用来获取结果的中心。

Test2::Hub::Interceptor::Terminator

Test2::Hub::Subtest

子测试使用的集线器

Test2::IPC

打开 IPC 以支持线程或分叉。

Test2::IPC::Driver

Test2 IPC 驱动程序的基类。

Test2::IPC::Driver::Files

临时目录 + 文件并发模型。

Test2::Tools::Tiny

对于无法使用的小工具集

Test2::Transition

升级到 Test2 时的过渡说明

Test2::Util

Test2 及其朋友使用的工具。

Test2::Util::ExternalMeta

允许第三方工具安全地附加元数据

Test2::Util::Facets2Legacy

将方面数据转换为旧版事件 API。

Test2::Util::HashBase

构建基于哈希的类。

Test2::Util::Trace

用于 Test2::EventFacet::Trace 的旧版包装器。

Test::Builder

用于构建测试库的后端

Test::Builder::Formatter

Test::Builder 的 Test2::Formatter::TAP 子类

Test::Builder::IO::Scalar

Test::Builder 的 IO::Scalar 副本

Test::Builder::Module

测试模块的基类

Test::Builder::Tester

使用构建的测试套件

Test::Builder::Tester::Color

在 Test::Builder::Tester 中打开颜色

Test::Builder::TodoDiag

Test::Builder 的 Test2::Event::Diag 子类

Test::Harness

使用统计信息运行 Perl 标准测试脚本

Test::Harness::Beyond

超越 make test

Test::More

另一个用于编写测试脚本的框架

Test::Simple

用于编写测试的基本实用程序。

Test::Tester

简化使用 Test::Builder 构建的测试模块的测试

Test::Tester::Capture

帮助测试使用 Test::Builder 构建的测试模块

Test::Tester::CaptureRunner

帮助测试使用 Test::Builder 构建的测试模块

Test::Tutorial

关于编写非常基础的测试的教程

Test::use::ok

Test::More::use_ok 的替代方案

Text::Abbrev

Abbrev - 从列表中创建缩写表

Text::Balanced

从字符串中提取分隔的文本序列。

Text::ParseWords

将文本解析为令牌数组或数组数组

Text::Tabs

像 unix expand(1) 和 unexpand(1) 一样展开和收缩制表符

Text::Wrap

换行以形成简单的段落

Thread

在 Perl 中操作线程(仅适用于旧代码)

Thread::Queue

线程安全的队列

Thread::Semaphore

线程安全的信号量

Tie::Array

绑定数组的基类

Tie::File

通过 Perl 数组访问磁盘文件中的行

Tie::Handle

绑定句柄的基类定义

Tie::Hash

绑定哈希的基类定义

Tie::Hash::NamedCapture

命名正则表达式捕获缓冲区

Tie::Memoize

在需要时将数据添加到哈希中

Tie::RefHash

使用引用作为哈希键

Tie::Scalar

绑定标量的基类定义

Tie::StdHandle

绑定句柄的基类定义

Tie::SubstrHash

固定表大小、固定键长度哈希

Time::HiRes

高分辨率闹钟、睡眠、gettimeofday、间隔计时器

Time::Local

高效地从本地时间和 GMT 时间计算时间

Time::Piece

面向对象的日期时间对象

Time::Seconds

一个简单的 API 用于将秒转换为其他日期值

Time::gmtime

Perl 内置 gmtime() 函数的按名称接口

Time::localtime

Perl 内置 localtime() 函数的按名称接口

Time::tm

Time::gmtime 和 Time::localtime 使用的内部对象

UNIVERSAL

所有类(祝福引用)的基类

Unicode::Collate

Unicode 排序算法

Unicode::Collate::CJK::Big5

加权 CJK 统一表意文字

Unicode::Collate::CJK::GB2312

加权 CJK 统一表意文字

Unicode::Collate::CJK::JISX0208

为 Unicode::Collate 加权 JIS KANJI

Unicode::Collate::CJK::Korean

加权 CJK 统一表意文字

Unicode::Collate::CJK::Pinyin

加权 CJK 统一表意文字

Unicode::Collate::CJK::Stroke

加权 CJK 统一表意文字

Unicode::Collate::CJK::Zhuyin

加权 CJK 统一表意文字

Unicode::Collate::Locale

通过 Unicode::Collate 对 DUCET 进行语言定制

Unicode::Normalize

Unicode 规范化形式

Unicode::UCD

Unicode 字符数据库

User::grent

Perl 内置 getgr*() 函数的按名称接口

User::pwent

Perl 内置 getpw*() 函数的按名称接口

VMS::DCLsym

用于操作 DCL 符号的 Perl 扩展

VMS::Filespec

在 VMS 和 Unix 文件规范语法之间转换

VMS::Stdio

通过 VMS 扩展实现标准 I/O 函数

Win32

一些 Win32 API 函数的接口

Win32API::File

用于文件/目录的 Win32 系统 API 调用低级访问。

Win32CORE

Win32 CORE 函数存根

XS::APItest

测试 perl C API

XS::Typemap

用于测试与 perl 一起分发的 XS 类型映射的模块

XSLoader

将 C 库动态加载到 Perl 代码中

autodie::Scope::Guard

用于在作用域结束时调用子例程的包装类

autodie::Scope::GuardStack

用于通过 %^H 管理作用域的钩子堆栈

autodie::Util

autodie 和 Fatal 的内部实用程序子例程

version::Internals

用于版本对象的 Perl 扩展

要找出系统上安装的所有模块,包括那些没有文档或不在标准发行版中的模块,只需使用以下命令(在默认的 win32 shell 中,应使用双引号而不是单引号)。

% perl -MFile::Find=find -MFile::Spec::Functions -Tlwe \
  'find { wanted => sub { print canonpath $_ if /\.pm\z/ },
  no_chdir => 1 }, @INC'

(-T 用于防止 @INC 被 PERL5LIBPERLLIBPERL_USE_UNSAFE_INC 填充。)它们都应该有自己的文档安装并可以通过您的系统 man(1) 命令访问。如果您没有find程序,您可以使用 Perl find2perl程序,它会生成可以运行的 Perl 代码作为输出。如果您有man程序,但它找不到您的模块,您需要修复您的 manpath。有关详细信息,请参阅perl。如果您没有系统man命令,您可以尝试使用perldoc程序。

还要注意,命令 perldoc perllocal 会为您提供已在您的系统上进一步安装的模块的(可能不完整的)列表。(perllocal.pod 文件由标准 MakeMaker 安装过程更新。)

扩展模块

扩展模块是用 C(或 Perl 和 C 的混合)编写的。它们通常在您需要时动态加载到 Perl 中,但也可以静态链接。支持的扩展模块包括 Socket、Fcntl 和 POSIX。

许多流行的 C 扩展模块没有捆绑(至少,没有完全捆绑),因为它们的大小、易变性,或者仅仅是因为没有足够的时间在 Perl 进行 beta 测试的众多平台上进行充分的测试和配置。我们鼓励您在 CPAN(如下所述)上或使用 Google 或 DuckDuckGo 等网络搜索引擎查找它们。

CPAN

CPAN 代表 Comprehensive Perl Archive Network(Perl 综合档案网络);它是一个全球复制的 Perl 资源库,包含文档、风格指南、技巧和陷阱、非 Unix 系统的备用端口以及这些端口的偶尔二进制发行版。CPAN 的搜索引擎可在 https://www.cpan.org/ 找到。

最重要的是,CPAN 包含大约一千个未捆绑的模块,其中一些需要 C 编译器才能构建。主要模块类别包括:

您可以在 https://www.cpan.org/ 在线找到 CPAN。

模块:创建、使用和滥用

(以下部分直接摘自 Tim Bunce 的模块文件,可在您最近的 CPAN 站点找到。)

Perl 使用包来实现类,但包的存在并不意味着类的存在。包只是一个命名空间。类是一个提供可作为方法使用的子例程的包。方法只是一个子例程,它期望其第一个参数是包的名称(对于“静态”方法),或对某个东西的引用(对于“虚拟”方法)。

模块是一个文件,它(按照惯例)提供一个与文件名相同的类(去掉 .pm 后缀),以及该类中可以调用的用于获取导出符号的导入方法。该模块可能通过加载动态 C 或 C++ 对象来实现其某些方法,但这对模块用户来说应该是完全透明的。同样,该模块可能会设置一个 AUTOLOAD 函数,以便按需加载子程序定义,但这也是透明的。只需要存在 .pm 文件。有关 AUTOLOAD 机制的详细信息,请参阅 perlsubperlobjAutoLoader

模块创建指南

将 Perl 4 库脚本转换为模块的指南

重用应用程序代码的指南

注意

Perl 不会像你在其他语言(如 C++、Ada 或 Modula-17)中习惯的那样强制执行其模块的私有和公共部分。Perl 对强制隐私没有迷恋。它更希望你因为没有被邀请而待在它的客厅之外,而不是因为它有一把猎枪。

模块及其用户之间有一份契约,其中一部分是习惯法,一部分是“书面”的。习惯法契约的一部分是模块不会污染任何它没有被要求污染的命名空间。模块的书面契约(又称文档)可能会做出其他规定。但当你use RedefineTheWorld时,你就知道你在重新定义世界,并愿意承担后果。