Amazon Best VPN GoSearch

OnWorks 网站图标

perlmodlib - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 perlmodlib

这是 perlmodlib 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


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

PERL 模块 图书馆


许多模块都包含在 Perl 发行版中。 这些描述如下,所有
结束 。下午. 您可能会发现编译后的库文件(通常以 。所以) 或小
要自动加载的模块(以 .al); 这些是由自动生成的
安装过程。 您还可以在库目录中发现以
在任何一个 特等 or .PH. 这些是提供的旧库,以便使用它们的旧程序
还在运行。 这 特等 文件最终都会被转换成标准模块,并且
.PH 制作的文件 每小时 最终可能会成为由以下人员制作的扩展模块 H2XS. (一些 .PH
这些值可能已经通过 POSIX、Errno 或 Fcntl 模块可用。) 下午2点
分发中的文件可能有助于您的转换,但这只是一个机械过程
因此远非防弹。

务实 科目
它们的工作方式有点像编译器指令(pragmata),因为它们往往会影响
编译您的程序,因此通常只有在
“使用”或“不”。 其中大部分是词法范围的,因此内部 BLOCK 可能会撤销
他们说:

没有整数;
没有严格的“参考”;
没有警告;

一直持续到那个 BLOCK 结束。

一些 pragma 是词法范围的——通常是影响 $^H 提示变量的那些。
其他的会影响当前的包,比如“use vars”和“use subs”,它们允许你
预先声明一个特定的变量或子程序 文件 而不仅仅是一个
堵塞。 此类声明对声明它们的整个文件都有效。
你不能用“no vars”或“no subs”来撤销它们。

定义了以下编译指示(并且有自己的文档)。

arybase 通过 $[ 设置索引基数

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

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

自动死亡::异常
自动染色功能的例外情况。

自动死亡::异常::系统
自动染色的例外情况 系统().

autodie::提示
提供有关用户子程序的提示以进行 autodie

自动制作::跳过
抛出 autodie 异常时跳过一个包

autouse 推迟加载模块,直到使用某个功能

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

bigint 对 Perl 的透明 BigInteger 支持

bignum Perl 的透明 BigNumber 支持

bigrat 对 Perl 的透明 BigNumber/BigRational 支持

blib 使用 MakeMaker 的卸载版本的一个包

bytes 强制字节语义而不是字符语义

charnames 访问 Unicode 字符名称和命名字符序列; 还定义
角色名称

常量声明常量

deprecate Perl pragma 用于弃用模块的核心版本

诊断 产生详细的警告诊断

encoding 允许您以非 ASCII 和非 UTF-8 格式编写脚本

编码::警告
警告隐式编码转换

试验
实验功能变得简单

功能 启用新功能

fields 编译时类字段

filetest 控制 filetest 权限操作符

如果条件成立,则“使用”Perl 模块(也可以“不”使用模块)

整数 使用整数运算代替浮点数

少请求少一些东西

lib 在编译时操作@INC

locale 为内置操作使用或避免 POSIX 语言环境

mro 方法解析顺序

ok 替代 Test::More::use_ok

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

ops 编译时限制不安全的操作

用于重载 Perl 操作的包

重载 词法控制重载

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

re 改变正则表达式行为

sigtrap 启用简单的信号处理

排序控件 种类() 行为

严格限制不安全的构造

subs 预先声明子名称

基于 Perl 解释器的线程

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

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

vars 预先声明全局变量名

版本对象的版本 Perl 扩展

vmsish 控制 VMS 特定的语言功能

警告::注册
警告导入功能

标准版 科目
标准的、捆绑的模块都应该以明确定义的方式运行
命名空间污染,因为它们使用 Exporter 模块。 查看他们自己的文档
了解详情。

可能不是下面列出的所有模块都安装在您的系统上。 例如,
如果您没有 gdbm 库,则不会安装 GDBM_File 模块。

AnyDBM_File 为多个 DBM 提供框架

App::Cpan 从命令行轻松与 CPAN 交互

App::Prove 实现“证明”命令。

应用::证明::状态
“证明”命令的状态存储。

应用::证明::状态::结果
单个测试套件结果。

应用::证明::状态::结果::测试
个人测试结果。

存档::焦油
用于操作 tar 档案的模块

存档::焦油::文件
从 Archive::Tar 内存中提取文件的子类

属性::处理程序
属性处理程序的更简单定义

AutoLoader 仅按需加载子程序

AutoSplit 拆分包以进行自动加载

B Perl 编译器后端

B::Concise Walk Perl 语法树,打印关于操作的简明信息

B::Debug Walk Perl 语法树,打印关于 ops 的调试信息

B::Deparse Perl 编译器后端生成 perl 代码

B::Op_private
OP op_private 标志定义

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

B::Terse Walk Perl 语法树,打印关于操作的简洁信息

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

基准 Perl 代码的基准运行时间

"IO::Socket::IP"
支持 IPv4 和 IPv6 的家庭中立 IP 套接字

“Socket”网络常量和支持函数

Perl 核心例程的 CORE 命名空间

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

CPAN::API::HOWTO
使用 CPAN.pm 编程的食谱书

CPAN::Debug CPAN.pm 的内部调试

CPAN::Distroprefs
读取和匹配 distroprefs

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

CPAN::处理配置
CPAN.pm 的内部配置处理

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

CPAN::Meta CPAN dist 的分发元数据

CPAN::Meta::转换器
转换 CPAN 分发元数据结构

CPAN::元::特征
CPAN 发行版提供的可选功能

CPAN::元::历史
CPAN Meta Spec 更改的历史

CPAN::元::历史::元_1_0
META.yml 的 1.0 版元数据规范

CPAN::元::历史::元_1_1
META.yml 的 1.1 版元数据规范

CPAN::元::历史::元_1_2
META.yml 的 1.2 版元数据规范

CPAN::元::历史::元_1_3
META.yml 的 1.3 版元数据规范

CPAN::元::历史::元_1_4
META.yml 的 1.4 版元数据规范

CPAN::元::合并
合并 CPAN Meta 片段

CPAN::元::先决条件
按阶段和类型划分的一组分发先决条件

CPAN::Meta::要求
CPAN 发行版的一组版本要求

CPAN::元::规范
CPAN 分发元数据规范

CPAN::Meta::验证器
验证 CPAN 分发元数据结构

CPAN::元::YAML
为 CPAN Meta 文件读取和写入 YAML 的子集

CPAN::Nox Wrapper 围绕 CPAN.pm 不使用任何 XS 模块

CPAN::插件
CPAN shell 扩展的基类

CPAN::插件::规范文件
一个简单的 CPAN::Plugin 的概念实现证明

CPAN::Queue CPAN.pm 的内部队列支持

CPAN::压缩包
CPAN.pm tar 档案的内部处理

CPAN::版本
用于比较 CPAN 版本的实用函数

鲤鱼替代警告和模块的死亡

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

压缩::原始:: Bzip2
bzip2 压缩库的低级接口

压缩::原始:: Zlib
zlib 压缩库的低级接口

压缩::Zlib
zlib 压缩库的接口

Config 访问 Perl 配置信息

配置::Perl::V
perl -V 输出的结构化数据检索

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

DB 到 Perl 调试 API 的编程接口

DBM_Filter 过滤 DBM 键/值

DBM_过滤器::压缩
DBM_Filter 的过滤器

DBM_Filter::编码
DBM_Filter 的过滤器

DBM_Filter::int32
DBM_Filter 的过滤器

DBM_Filter::空
DBM_Filter 的过滤器

DBM_过滤器::utf8
DBM_Filter 的过滤器

DB_File Perl5 访问 Berkeley DB 版本 1.x

数据::倾销者
字符串化的 perl 数据结构,适用于打印和“评估”

开发::PPPort
Perl/污染/可移植性

Devel::Peek 一款 XS 程序员的数据调试工具

开发::SelfStubber
为 SelfLoading 模块生成存根

Digest 计算消息摘要的模块

Digest::MD5 Perl 接口到 MD5 算法

Digest::SHA-1/224/256/384/512 的 SHA Perl 扩展

摘要::基础
摘要基类

摘要::文件
计算文件摘要

DirHandle 提供目录句柄的对象方法

Dumpvalue 提供 Perl 数据的屏幕转储。

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

在 Perl 中编码字符编码

编码::别名
编码的别名定义

编码::字节
单字节编码

编码::中日韩常量
Encode::??::ISO_2022_* 内部使用

Encode::CN 基于中国的中文编码

编码::CN::HZ
Encode::CN 内部使用

编码::配置
Encode 内部使用

编码::EBCDIC
EBCDIC 编码

编码::编码器
面向对象编码器

编码::编码
编码实现基类

编码::GSM0338
ESTI GSM 03.38 编码

编码::猜
从数据猜测编码

编码::JP 日语编码

编码::JP::H2Z
Encode::JP::2022_JP* 内部使用

编码::JP::JIS7
Encode::JP 内部使用

编码::KR 韩文编码

编码::KR::2022_KR
Encode::KR 内部使用

编码::MIME::Header
MIME 'B' 和 'Q' 标头编码

编码::MIME::名称
Encode 内部使用

编码::PerlIO
关于 Encode 和 PerlIO 的详细文档

编码::支持
Encode 支持的编码

编码::符号
符号编码

Encode::TW 台湾中文编码

编码::Unicode
各种Unicode转换格式

编码::Unicode::UTF7
UTF-7编码

英语 为丑陋的标点变量使用漂亮的英语(或 awk)名称

将环境变量作为标量或数组导入的 Env Perl 模块

Errno 系统 errno 常量

导出器为模块实现默认导入方法

出口商::重
出口商胆量

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

ExtUtils::CBuilder::平台::Windows
Windows 平台的构建器类

ExtUtils::命令
用于替换 Makefile 等中常见 UNIX 命令的实用程序。

ExtUtils::命令::MM
MM 在 Makefile 中使用的命令

ExtUtils::常量
生成 XS 代码以导入 C 头常量

ExtUtils::常量::基础
ExtUtils::Constant 对象的基类

ExtUtils::常量::Utils
ExtUtils::Constant 的辅助函数

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

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

ExtUtils::安装
从这里到那里安装文件

ExtUtils::已安装
已安装模块的库存管理

ExtUtils::库列表
确定要使用的库以及如何使用它们

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_QNX
ExtUtils::MM_Unix 的 QNX 特定子类

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

ExtUtils::MM_Unix
ExtUtils::MakeMaker 使用的方法

ExtUtils::MM_VMS
在 ExtUtils::MakeMaker 中覆盖 UN*X 行为的方法

ExtUtils::MM_VOS
ExtUtils::MM_Unix 的 VOS 特定子类

ExtUtils::MM_Win32
在 ExtUtils::MakeMaker 中覆盖 UN*X 行为的方法

ExtUtils::MM_Win95
Win9X自定义MakeMaker的方法

ExtUtils::我的
ExtUtils::MakeMaker 自定义子类

ExtUtils::MakeMaker
创建模块 Makefile

ExtUtils::MakeMaker::配置
围绕 Config.pm 的包装

ExtUtils::MakeMaker::常见问题解答
关于 MakeMaker 的常见问题

ExtUtils::MakeMaker::区域设置
捆绑编码::区域设置

ExtUtils::MakeMaker::教程
使用 MakeMaker 编写模块

ExtUtils::清单
用于编写和检查 MANIFEST 文件的实用程序

ExtUtils::Miniperl
为 perlmain.c 编写 C 代码

ExtUtils::Mkbootstrap
制作供 DynaLoader 使用的引导程序文件

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

ExtUtils::包列表
管理 .packlist 文件

ExtUtils::ParseXS
将 Perl XS 代码转换为 C 代码

ExtUtils::ParseXS::常量
一些全局变量的初始化值

ExtUtils::ParseXS::评估
清理包以评估代码

ExtUtils::ParseXS::实用程序
与 ExtUtils::ParseXS 一起使用的子程序

ExtUtils::类型映射
读/写/修改 Perl/XS 类型映射文件

ExtUtils::类型映射::Cmd
处理类型图的快速命令

ExtUtils::类型映射::输入映射
输入类型映射的 INPUT 部分

ExtUtils::类型映射::输出映射
输入类型映射的 OUTPUT 部分

ExtUtils::Typemaps::类型
输入类型图的 TYPEMAP 部分

ExtUtils::XSSymSet
保持一组符号名称适合 VMS 链接器

ExtUtils::测试库
将 blib/* 目录添加到 @INC

致命 用成功或死亡的等价物替换功能

Fcntl 加载 C Fcntl.h 定义

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

文件::比较
比较文件或文件句柄

File::Copy 复制文件或文件句柄

文件::DosGlob
DOS 喜欢 globbing 然后一些

File::Fetch 一个通用的文件获取机制

File::Find 遍历目录树。

用于 BSD glob 例程的 File::Glob Perl 扩展

文件::全局映射器
扩展 File Glob 以允许输入和输出文件

File::Path 创建或删除目录树

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

文件::规范::Cygwin
Cygwin 文件规范的方法

文件::规格::Epoc
Epoc 文件规范的方法

文件::规范::函数
可移植地对文件名执行操作

文件::规格::Mac
File::Spec for Mac OS(经典)

文件::规范::OS2
OS/2 文件规范的方法

文件::规范::Unix
File::Spec for Unix,其他 File::Spec 模块的基础

文件::规格::VMS
VMS 文件规范的方法

文件::规范::Win32
Win32 文件规范的方法

File::Temp 安全返回临时文件的名称和句柄

File::stat Perl 内置的按名称接口 STAT() 功能

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

FileHandle 提供文件句柄的对象方法

过滤器::简单
简化的源过滤

过滤器::实用::调用
Perl 源过滤器实用模块

FindBin 定位原始 perl 脚本的目录

GDBM_File Perl5 访问 gdbm 库。

Getopt::长
命令行选项的扩展处理

Getopt::Std 使用开关群集处理单字符开关

HTTP::Tiny 一个小巧、简单、正确的 HTTP/1.1 客户端

Hash::Util 一些通用的哈希子程序

哈希::Util::FieldHash
支持由内而外的课程

I18N::整理
根据当前语言环境比较 8 位标量数据

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

I18N::LangTags::检测
检测用户的语言偏好

I18N::LangTags::列表
人类语言的标签和名称

I18N::语言信息
查询区域信息

IO 加载各种IO模块

IO::压缩::基础
IO::Compress 模块的基类

IO::压缩::Bzip2
写入 bzip2 文件/缓冲区

IO::压缩::放气
写入 RFC 1950 文件/缓冲区

IO::压缩::常见问题
关于 IO::Compress 的常见问题

IO::压缩::Gzip
写入 RFC 1952 文件/缓冲区

IO::压缩::RawDeflate
写入 RFC 1951 文件/缓冲区

IO::压缩::Zip
写入 zip 文件/缓冲区

IO::Dir 提供目录句柄的对象方法

IO::File 提供文件句柄的对象方法

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

IO::Pipe 管道的供应对象方法

IO::Poll 对象接口到系统轮询调用

IO::可搜索
I/O 对象的基于供应寻找的方法

IO::Select OO接口到select系统调用

IO::Socket 对象接口到套接字通信

IO::套接字::INET
AF_INET 域套接字的对象接口

IO::套接字::UNIX
AF_UNIX 域套接字的对象接口

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

IO::解压缩::AnyUncompress
解压缩 gzip、zip、bzip2 或 lzop 文件/缓冲区

IO::解压缩::基础
IO::Uncompress 模块的基类

IO::解压缩::Bunzip2
读取 bzip2 文件/缓冲区

IO :: Uncompress :: Gunzip
读取 RFC 1952 文件/缓冲区

IO::解压缩::膨胀
读取 RFC 1950 文件/缓冲区

IO::解压::RawInflate
读取 RFC 1951 文件/缓冲区

IO::解压缩::解压缩
读取 zip 文件/缓冲区

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

IPC::Cmd 轻松查找和运行系统命令

IPC::Msg SysV Msg IPC 对象类

IPC::Open2 使用打开一个读写进程 打开2()

IPC::Open3 使用打开一个进程进行读、写和错误处理 打开3()

IPC::信号量
SysV 信号量 IPC 对象类

IPC::共享内存
SysV 共享内存 IPC 对象类

IPC::SysV System V IPC 常量和系统调用

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

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

List::Util 通用实用程序列表子程序的选择

列表::Util::XS
指示 List::Util 是否是用 C 编译器编译的

语言环境::代码
处理区域设置代码的模块分布

语言环境::代码::API
每个模块中可调用函数的描述

语言环境::代码::更改
对 Locale::Codes 的详细更改

语言环境::代码::常量
区域设置代码的常量

语言环境::代码::国家
国家识别标准代码

语言环境::代码::货币
货币识别标准代码

语言环境::代码::LangExt
语言扩展标识的标准代码

语言环境::代码::LangFam
语言扩展标识的标准代码

语言环境::代码::LangFam_Retired
Locale::Codes::LangFam 模块的退休 langfam 代码

语言环境::代码::LangVar
语言变异识别标准代码

语言环境::代码::语言
语言识别标准代码

语言环境::代码::脚本
脚本识别的标准代码

语言环境::国家
国家识别标准代码

语言环境::货币
货币识别标准代码

语言环境::语言
语言识别标准代码

语言环境::生成文本
本地化框架

语言环境::Maketext::食谱
使用 Locale::Maketext 的食谱

语言环境::Maketext::Guts
不推荐使用的模块来加载 Locale::Maketext utf8 代码

语言环境::Maketext::GutsLoader
不推荐使用的模块来加载 Locale::Maketext utf8 代码

语言环境::Maketext::Simple
Locale::Maketext::Lexicon 的简单接口

语言环境::Maketext::TPJ13
关于软件本地化的文章

语言环境::脚本
脚本识别的标准代码

MIME::Base64 格式
base64字符串的编码和解码

MIME::引用打印
带引号的可打印字符串的编码和解码

数学::大浮点数
任意大小的浮点数学包

数学::BigInt
任意大小的整数/浮点数学包

数学::BigInt::Calc
支持 Math::BigInt 的纯 Perl 模块

数学::BigInt::CalcEmu
使用 BigInt 代码模拟低级数学

数学::BigInt::FastCalc
Math::BigInt::Calc 与一些 XS 以提高速度

数学::大老鼠
任意大有理数

数学::复杂
复数和相关的数学函数

数学::三角函数

Memoize 通过以空间换时间使功能更快

备忘录::AnyDBM_File
胶水为 AnyDBM_File 提供 EXISTS 以供存储使用

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

备忘录::过期文件
测试 Memoize 过期语义

记住::过期测试
测试 Memoize 过期语义

备忘录::NDBM_File
胶水为 NDBM_File 提供 EXISTS 以供存储使用

备忘录::SDBM_File
胶水为 SDBM_File 提供 EXISTS 以供存储使用

记忆::可存储
将 Memoized 数据存储在可存储数据库中

模块::核心列表
perl 版本附带哪些模块

模块::CoreList::Utils
perl 版本附带哪些实用程序

模块::加载
模块和文件的运行时要求

模块::负载::条件
在运行时查找模块信息/加载

模块::加载
将模块标记为已加载或已卸载

模块::元数据
从 perl 模块文件中收集包和 POD 信息

NDBM_File 对 ndbm 文件的绑定访问

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

Net::Cmd 网络命令类(由 FTP、SMTP 等使用)

Net::Config libnet 的本地配置数据

Net::Domain 尝试评估当前主机的 Internet 名称和域

Net::FTP FTP 客户端类

网络::FTP::dataconn
FTP Client 数据连接类

Net::NNTP NNTP 客户端类

Net::Netrc OO 接口到用户 netrc 文件

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

Net::Ping 检查远程主机的可达性

Net::SMTP 简单邮件传输协议客户端

Net::Time 时间和白天网络客户端接口

网络::主机
Perl 内置 gethost*() 函数的按名称接口

网络::libnet常见问题
Libnet 常见问题

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

网络::原始
Perl 内置 getproto*() 函数的按名称接口

网络::仆人
Perl 内置 getserv*() 函数的按名称接口

O Perl 编译器后端的通用接口

ODBM_File 对 odbm 文件的绑定访问

操作码 编译 perl 代码时禁用命名操作码

POSIX Perl 接口到 IEEE Std 1003.1

参数::检查
通用输入解析/检查机制。

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

Perl::操作系统类型
将 Perl 操作系统名称映射到泛型类型

PerlIO 按需加载器,用于 PerlIO 层和 PerlIO::* 命名空间的根目录

PerlIO::编码
编码层

PerlIO::mmap
内存映射 IO

PerlIO::标量
内存 IO,标量 IO

PerlIO::via 用于在 perl 中实现的 PerlIO 层的 Helper 类

PerlIO::via::QuotedPrint
带引号的可打印字符串的 PerlIO 层

Pod::逃脱
用于解析 Pod E<...> 序列

Pod::Find 在目录树中查找 POD 文档

Pod::函数
将 Perl 的功能分组到 perlfunc.pod

Pod::Html 模块将 Pod 文件转换为 HTML

Pod::输入对象
代表 POD 输入段落、命令等的对象。

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

Pod::解析链接
解析 POD 文本中的 L<> 格式代码

Pod::ParseUtils
POD 解析和转换的助手

Pod::Parser 用于创建 POD 过滤器和翻译器的基类

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

荚:: 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::纯文本
将 POD 数据转换为格式化的 ASCII 文本

Pod::Select 从输入中提取选定的 POD 部分

Pod::解析Pod的简单框架

Pod::简单::检查器
检查文档的 Pod 语法

Pod::简单::调试
将 Pod::Simple 置于跟踪/调试模式

Pod::Simple::DumpAsText
将 Pod 解析事件转储为文本

Pod::Simple::DumpAsXML
将 Pod 转换为 XML

Pod::简单::HTML
将 Pod 转换为 HTML

Pod::简单::HTMLBatch
将多个 Pod 文件转换为多个 HTML 文件

Pod::Simple::LinkSection
代表L码的“section”属性

Pod::简单::方法
将 Pod::Simple 事件转化为方法调用

Pod::简单::PullParser
用于解析 Pod 的 pull-parser 接口

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::简单::RTF
将 Pod 格式化为 RTF

Pod::简单::搜索
在目录树中查找 POD 文档

Pod::简单::简单树
将 Pod 解析为简单的解析树

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

Pod::简单::文本
将 Pod 格式化为纯文本

Pod::简单::文本内容
获取Pod的文本内容

Pod::简单::XHTML
将 Pod 格式化为验证 XHTML

Pod::Simple::XMLOutStream
将 Pod 转换为 XML

Pod::Text 将 POD 数据转换为格式化的 ASCII 文本

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

Pod::文本::Termcap
使用格式转义将 POD 数据转换为 ASCII 文本

Pod::Usage 从嵌入式 Pod 文档中打印使用消息

SDBM_File 对 sdbm 文件的绑定访问

安全 编译和执行受限隔间中的代码

标量::实用程序
一系列通用标量子程序

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

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

SelfLoader 仅按需加载功能

Perl 数据结构的可存储持久性

Sub::Util 用于 subs 和 CODE 参考的实用子程序的选择

符号操作 Perl 符号及其名称

系统::主机名
尝试各种可能的方式来获取主机名

Sys::Syslog Perl 接口到 UNIX 系统日志(3) 调用

系统::系统日志::Win32
Win32 支持 Sys::Syslog

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

TAP::格式化程序::基础
线束输出委托的基类

TAP::格式化程序::颜色
使用颜色运行 Perl 测试脚本

TAP::格式化程序::控制台
为默认控制台输出利用输出委托

TAP::Formatter::Console::ParallelSession
利用并行控制台输出的输出委托

TAP::格式化程序::控制台::会话
为默认控制台输出利用输出委托

TAP::格式化程序::文件
用于文件输出的线束输出委托

TAP::格式化程序::文件::会话
用于文件输出的线束输出委托

TAP::格式化程序::会话
线束输出委托的抽象基类

TAP::线束
运行带有统计信息的测试脚本

TAP::线束::环境
在适当的情况下解析与线束相关的环境变量

TAP::Object 为所有“TAP::*”模块提供通用功能的基类

TAP::Parser 解析 TAP 输出

TAP::解析器::聚合器
聚合 TAP::Parser 结果

TAP::解析器::语法
测试任何协议的语法。

TAP::解析器::迭代器
TAP 源迭代器的基类

TAP::解析器::迭代器::数组
基于数组的 TAP 源的迭代器

TAP::解析器::迭代器::进程
基于进程的 TAP 源的迭代器

TAP::解析器::迭代器::流
基于文件句柄的 TAP 源的迭代器

TAP::解析器::迭代器工厂
找出用于给定 Source 的 SourceHandler 对象

TAP::解析器::多路复用器
多路复用多个 TAP::Parsers

点击::解析器::结果
TAP::Parser 输出对象的基类

TAP::解析器::结果::救助
救助结果令牌。

TAP::解析器::结果::评论
评论结果标记。

TAP::解析器::结果::计划
计划结果令牌。

TAP::解析器::结果::编译指示
TAP 编译指示标记。

TAP::解析器::结果::测试
测试结果令牌。

TAP::解析器::结果::未知
未知的结果令牌。

TAP::解析器::结果::版本
TAP 语法版本标记。

TAP::解析器::结果::YAML
YAML 结果令牌。

TAP::解析器::结果工厂
用于创建 TAP::Parser 输出对象的工厂

TAP::解析器::调度器
在并行测试期间安排测试

TAP::解析器::调度器::工作
单个测试作业。

TAP::解析器::调度器::微调器
无业工作。

TAP::解析器::源
一个 TAP 源和关于它的元数据

TAP::解析器::SourceHandler
不同 TAP 源处理程序的基类

TAP::解析器::SourceHandler::可执行
来自可执行 TAP 源的流输出

TAP::解析器::SourceHandler::文件
从文本文件流式传输 TAP。

TAP::解析器::SourceHandler::句柄
从 IO::Handle 或 GLOB 流式传输 TAP。

TAP::解析器::SourceHandler::Perl
从 Perl 可执行文件流式传输 TAP

TAP::解析器::SourceHandler::RawTAP
在标量/数组引用中从原始 TAP 流输出。

TAP::解析器::YAMLish::阅读器
从迭代器读取 YAMLish 数据

TAP::解析器::YAMLish::编写器
写入 YAMLish 数据

术语::ANSI颜色
使用 ANSI 转义序列的彩色屏幕输出

Term::Cap Perl termcap 接口

期限::完成
Perl 单词补全模块

术语::读取行
Perl 接口到各种“readline”包。

Test 提供一个简单的框架来编写测试脚本

测试::生成器
用于构建测试库的后端

测试::生成器::IO::标量
Test::Builder 的 IO::Scalar 副本

测试::生成器::模块
测试模块的基类

测试::建造者::测试员
已构建的测试测试套件

测试::建造者::测试员::颜色
在 Test::Builder::Tester 中打开颜色

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

测试::线束::超越
超越测试

Test::More 另一个编写测试脚本的框架

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

测试::测试员
轻松测试使用 Test::Builder 构建的测试模块

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

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

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

测试::使用::确定
Test::More::use_ok 的替代方法

文本::缩写
Abbrev - 从列表创建一个缩写表

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

文字:: ParseWords
将文本解析为标记数组或数组数组

Text::Tabs 像 unix 一样展开和解开标签 扩大(1)和 展开(1)

Text::Wrap 换行以形成简单的段落

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

线程::队列
线程安全队列

线程::信号量
线程安全的信号量

Tie::Array 绑定数组的基类

Tie::File 通过 Perl 数组访问磁盘文件的行

Tie::Handle 绑定句柄的基类定义

Tie::Hash 绑定散列的基类定义

领带::散列::NamedCapture
命名的正则表达式捕获缓冲区

领带::记住
需要时将数据添加到哈希

领带::RefHash
使用引用作为哈希键

Tie::Scalar 绑定标量的基类定义

领带::标准句柄
绑定句柄的基类定义

领带::SubstrHash
固定表大小、固定密钥长度的散列

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

Time::Local 从本地和 GMT 时间高效计算时间

Time::Piece 面向对象的时间对象

时间::秒
将秒转换为其他日期值的简单 API

时间::gmtime
Perl 内置的按名称接口 时间() function

时间::当地时间
Perl 内置的按名称接口 当地时间() function

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

UNIVERSAL 所有类的基类(有福的参考)

Unicode::整理
Unicode整理算法

Unicode::Collat​​e::CJK::Big5
加权 CJK 统一表意文字

Unicode::Collat​​e::CJK::GB2312
加权 CJK 统一表意文字

Unicode::Collat​​e::CJK::JISX0208
Unicode 的加权 JIS KANJI::Collat​​e

Unicode::Collat​​e::CJK::Korean
加权 CJK 统一表意文字

Unicode::Collat​​e::CJK::拼音
加权 CJK 统一表意文字

Unicode::Collat​​e::CJK::Stroke
加权 CJK 统一表意文字

Unicode::Collat​​e::CJK::注音
加权 CJK 统一表意文字

Unicode::Collat​​e::Locale
通过 Unicode::Collat​​e 为 DUCET 进行语言裁剪

Unicode::标准化
Unicode 规范化形式

统一码::UCD
Unicode 字符数据库

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

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

用于操作 DCL 符号的 VMS::DCLsym Perl 扩展

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

VMS::Stdio 通过 VMS 扩展的标准 I/O 功能

一些 Win32 API 函数的 Win32 接口

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

Win32CORE Win32 CORE 函数存根

XS::APItest 测试 perl C API

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

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

autodie::范围::守卫
用于在范围结束时调用 subs 的包装类

autodie::范围::GuardStack
用于通过 %^H 管理范围的钩子堆栈

autodie::ScopeUtil
用于管理 %^H 范围的实用程序

版本::内部
版本对象的 Perl 扩展

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

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

(这里的 -T 是为了防止 '.' 被列在@INC 中。)他们都应该有自己的
文档已安装并可通过您的系统访问 男子(1) 命令。 如果你没有
a 发现 程序,你可以使用 Perl 查找2perl 而是生成 Perl 代码的程序
作为输出,您可以通过 perl 运行。 如果你有一个 男子 程序,但它没有找到你的
模块,你必须修复你的人路径。 有关详细信息,请参阅 perl。 如果没有系统
男子 命令,你可以试试 文件 程序。

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

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

由于以下原因,许多流行的 C 扩展模块并未捆绑(至少不是完全捆绑)
它们的大小、波动性,或者只是缺乏足够的测试和配置时间
在众多平台上对 Perl 进行了 beta 测试。 鼓励你
在 CPAN(如下所述)或使用网络搜索引擎(如 Alta Vista 或
谷歌。

CPAN


CPAN 代表综合 Perl 档案网络; 这是一个全球复制的宝库
Perl 材料,包括文档、样式指南、技巧和陷阱、备用端口
到非 Unix 系统和偶尔的二进制发行版。 搜索引擎
CPAN 可以在 http://www.cpan.org/

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

· 语言扩展和文档工具

· 开发支持

· 操作系统接口

· 网络、设备控制(调制解调器)和进程间通信

· 数据类型和数据类型实用程序

· 数据库接口

· 用户界面

· 其他编程语言的接口/仿真

· 文件名、文件系统和文件锁定(另见文件句柄)

· 字符串处理、语言文本处理、解析和搜索

· 选项、参数、参数和配置文件处理

· 国际化和区域化

· 认证、安全和加密

· 万维网、HTML、HTTP、CGI、MIME

· 服务器和守护程序实用程序

· 归档和压缩

· 图像、像素图和位图操作、绘图和制图

· 邮件和Usenet新闻

· 控制流实用程序(回调和异常等)

· 文件句柄和输入/输出流实用程序

· 其他模块

已注册的 CPAN 站点列表如下。 请注意,排序顺序是
按字母顺序排列的字段:

大洲
|
|-->国家
|
|-->[州/省]
|
|-->ftp
|
|-->[http]

因此北美服务器恰好在欧洲和南方之间列出
美国网站。

注册的 CPAN 站点

非洲
南非
http://cpan.mirror.ac.za/
ftp://cpan.mirror.ac.za/
http://mirror.is.co.za/pub/cpan/
ftp://ftp.is.co.za/pub/cpan/
ftp://ftp.saix.net/pub/CPAN/

亚太地区
中国
http://cpan.wenzk.com/

香港
http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
http://mirrors.geoexpat.com/cpan/

印度
http://perlmirror.indialinks.com/

印度尼西亚
http://cpan.biz.net.id/
http://komo.vlsm.org/CPAN/
ftp://komo.vlsm.org/CPAN/
http://cpan.cermin.lipi.go.id/
ftp://cermin.lipi.go.id/pub/CPAN/
http://cpan.pesat.net.id/

日本
ftp://ftp.u-aizu.ac.jp/pub/CPAN
ftp://ftp.kddilabs.jp/CPAN/
http://ftp.nara.wide.ad.jp/pub/CPAN/
ftp://ftp.nara.wide.ad.jp/pub/CPAN/
http://ftp.jaist.ac.jp/pub/CPAN/
ftp://ftp.jaist.ac.jp/pub/CPAN/
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
http://ftp.riken.jp/lang/CPAN/
ftp://ftp.riken.jp/lang/CPAN/
http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/

韩国
http://ftp.kaist.ac.kr/pub/CPAN
ftp://ftp.kaist.ac.kr/pub/CPAN
http://cpan.mirror.cdnetworks.com/
ftp://cpan.mirror.cdnetworks.com/CPAN/
http://cpan.sarang.net/
ftp://cpan.sarang.net/CPAN/

俄罗斯
http://cpan.tomsk.ru/
ftp://cpan.tomsk.ru/

新加坡
http://mirror.averse.net/pub/CPAN
ftp://mirror.averse.net/pub/CPAN
http://cpan.mirror.choon.net/
http://cpan.oss.eznetsols.org
ftp://ftp.oss.eznetsols.org/cpan

台湾
http://ftp.cse.yzu.edu.tw/pub/CPAN/
ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
http://cpan.nctu.edu.tw/
ftp://cpan.nctu.edu.tw/
ftp://ftp.ncu.edu.tw/CPAN/
http://cpan.cdpa.nsysu.edu.tw/
ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
http://cpan.stu.edu.tw
ftp://ftp.stu.edu.tw/CPAN
http://ftp.stu.edu.tw/CPAN
ftp://ftp.stu.edu.tw/pub/CPAN
http://cpan.cs.pu.edu.tw/
ftp://cpan.cs.pu.edu.tw/pub/CPAN

泰国
http://mirrors.issp.co.th/cpan/
ftp://mirrors.issp.co.th/cpan/
http://mirror.yourconnect.com/CPAN/
ftp://mirror.yourconnect.com/CPAN/

土耳其
http://cpan.gazi.edu.tr/

美国
哥斯达黎加
http://mirrors.ucr.ac.cr/CPAN/
ftp://mirrors.ucr.ac.cr/CPAN/

欧洲
奥地利
http://cpan.inode.at/
ftp://cpan.inode.at
http://gd.tuwien.ac.at/languages/perl/CPAN/
ftp://gd.tuwien.ac.at/pub/CPAN/

比利时
http://ftp.belnet.be/mirror/ftp.cpan.org/
ftp://ftp.belnet.be/mirror/ftp.cpan.org/
http://ftp.easynet.be/pub/CPAN/
http://cpan.weepee.org/

波斯尼亚和黑塞哥维那
http://cpan.blic.net/

保加利亚
http://cpan.cbox.biz/
ftp://cpan.cbox.biz/cpan/
http://cpan.digsys.bg/
ftp://ftp.digsys.bg/pub/CPAN

克罗地亚
http://ftp.carnet.hr/pub/CPAN/
ftp://ftp.carnet.hr/pub/CPAN/

捷克共和国
ftp://ftp.fi.muni.cz/pub/CPAN/
http://archive.cpan.cz/

丹麦
http://mirrors.dotsrc.org/cpan
ftp://mirrors.dotsrc.org/cpan/
http://www.cpan.dk/
http://mirror.uni-c.dk/pub/CPAN/

芬兰
ftp://ftp.funet.fi/pub/languages/perl/CPAN/
http://mirror.eunet.fi/CPAN

法国
http://cpan.enstimac.fr/
ftp://ftp.inria.fr/pub/CPAN/
http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
ftp://ftp.lip6.fr/pub/perl/CPAN/
http://mir2.ovh.net/ftp.cpan.org
ftp://mir1.ovh.net/ftp.cpan.org
ftp://ftp.oleane.net/pub/CPAN/
http://ftp.crihan.fr/mirrors/ftp.cpan.org/
ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
http://ftp.u-strasbg.fr/CPAN
ftp://ftp.u-strasbg.fr/CPAN
http://cpan.cict.fr/
ftp://cpan.cict.fr/pub/CPAN/

德国
ftp://ftp.fu-berlin.de/unix/languages/perl/
http://mirrors.softliste.de/cpan/
ftp://ftp.rub.de/pub/CPAN/
http://www.planet-elektronik.de/CPAN/
http://ftp.hosteurope.de/pub/CPAN/
ftp://ftp.hosteurope.de/pub/CPAN/
http://www.mirrorspace.org/cpan/
http://mirror.netcologne.de/cpan/
ftp://mirror.netcologne.de/cpan/
ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
http://mirrors.zerg.biz/cpan/
http://ftp.gwdg.de/pub/languages/perl/CPAN/
ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
http://dl.ambiweb.de/mirrors/ftp.cpan.org/
http://cpan.mirror.clusters.kg/
http://cpan.mirror.iphh.net/
ftp://cpan.mirror.iphh.net/pub/CPAN/
http://cpan.mirroring.de/
http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
http://www.chemmedia.de/mirrors/CPAN/
http://ftp.cw.net/pub/CPAN/
ftp://ftp.cw.net/pub/CPAN/
http://cpan.cpantesters.org/
ftp://cpan.cpantesters.org/CPAN/
http://cpan.mirrored.de/
ftp://mirror.petamem.com/CPAN/
http://cpan.noris.de/
ftp://cpan.noris.de/pub/CPAN/
ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
ftp://ftp.gmd.de/mirrors/CPAN/

希腊
ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
ftp://ftp.ntua.gr/pub/lang/perl/
http://cpan.cc.uoc.gr/
ftp://ftp.cc.uoc.gr/mirrors/CPAN/

匈牙利
http://cpan.mirrors.enexis.hu/
ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
http://cpan.hu/

冰岛
http://ftp.rhnet.is/pub/CPAN/
ftp://ftp.rhnet.is/pub/CPAN/

爱尔兰
http://ftp.esat.net/pub/languages/perl/CPAN/
ftp://ftp.esat.net/pub/languages/perl/CPAN/
http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN

意大利
http://bo.mirror.garr.it/mirrors/CPAN/
http://cpan.panu.it/
ftp://ftp.panu.it/pub/mirrors/perl/CPAN/

拉脱维亚
http://kvin.lv/pub/CPAN/

立陶宛
http://ftp.litnet.lt/pub/CPAN/
ftp://ftp.litnet.lt/pub/CPAN/

马耳他
http://cpan.waldonet.net.mt/

荷兰
ftp://ftp.quicknet.nl/pub/CPAN/
http://mirror.hostfuss.com/CPAN/
ftp://mirror.hostfuss.com/CPAN/
http://mirrors3.kernel.org/cpan/
ftp://mirrors3.kernel.org/pub/CPAN/
http://cpan.mirror.versatel.nl/
ftp://ftp.mirror.versatel.nl/cpan/
ftp://download.xs4all.nl/pub/mirror/CPAN/
http://mirror.leaseweb.com/CPAN/
ftp://mirror.leaseweb.com/CPAN/
ftp://ftp.cpan.nl/pub/CPAN/
http://archive.cs.uu.nl/mirror/CPAN/
ftp://ftp.cs.uu.nl/mirror/CPAN/
http://luxitude.net/cpan/

挪威
ftp://ftp.uninett.no/pub/languages/perl/CPAN
ftp://ftp.uit.no/pub/languages/perl/cpan/

波兰
http://piotrkosoft.net/pub/mirrors/CPAN/
ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
http://ftp.man.poznan.pl/pub/CPAN
ftp://ftp.man.poznan.pl/pub/CPAN
ftp://ftp.ps.pl/pub/CPAN/
ftp://sunsite.icm.edu.pl/pub/CPAN/
ftp://ftp.tpnet.pl/d4/CPAN/

葡萄牙
http://cpan.dei.uc.pt/
ftp://ftp.dei.uc.pt/pub/CPAN
ftp://ftp.ist.utl.pt/pub/CPAN/
http://cpan.perl.pt/
http://cpan.ip.pt/
ftp://cpan.ip.pt/pub/cpan/
http://mirrors.nfsi.pt/CPAN/
ftp://mirrors.nfsi.pt/pub/CPAN/
http://cpan.dcc.fc.up.pt/

罗马尼亚
http://ftp.astral.ro/pub/CPAN/
ftp://ftp.astral.ro/pub/CPAN/
ftp://ftp.lug.ro/CPAN
http://mirrors.xservers.ro/CPAN/
http://mirrors.hostingromania.ro/ftp.cpan.org/
ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/

俄罗斯
ftp://ftp.aha.ru/CPAN/
http://cpan.rinet.ru/
ftp://cpan.rinet.ru/pub/mirror/CPAN/
ftp://ftp.SpringDaemons.com/pub/CPAN/
http://mirror.rol.ru/CPAN/
http://ftp.silvernet.ru/CPAN/
http://ftp.spbu.ru/CPAN/
ftp://ftp.spbu.ru/CPAN/

斯洛伐克
http://cpan.fyxm.net/

斯洛文尼亚
http://www.klevze.si/cpan

西班牙
http://osl.ugr.es/CPAN/
ftp://ftp.reiris.es/mirror/CPAN/
http://ftp.gui.uva.es/sites/cpan.org/
ftp://ftp.gui.uva.es/sites/cpan.org/

瑞典
http://mirrors4.kernel.org/cpan/
ftp://mirrors4.kernel.org/pub/CPAN/

瑞士
http://cpan.mirror.solnet.ch/
ftp://ftp.solnet.ch/mirror/CPAN/
ftp://ftp.adwired.ch/CPAN/
http://mirror.switch.ch/ftp/mirror/CPAN/
ftp://mirror.switch.ch/mirror/CPAN/

乌克兰
http://cpan.makeperl.org/
ftp://cpan.makeperl.org/pub/CPAN
http://cpan.org.ua/
http://cpan.gafol.net/
ftp://ftp.gafol.net/pub/cpan/

英国
http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
http://www.mirror.8086.net/sites/CPAN/
ftp://ftp.mirror.8086.net/sites/CPAN/
http://cpan.mirror.anlx.net/
ftp://ftp.mirror.anlx.net/CPAN/
http://mirror.bytemark.co.uk/CPAN/
ftp://mirror.bytemark.co.uk/CPAN/
http://cpan.etla.org/
ftp://cpan.etla.org/pub/CPAN
ftp://ftp.demon.co.uk/pub/CPAN/
http://mirror.sov.uk.goscomb.net/CPAN/
ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
http://ftp.plig.net/pub/CPAN/
ftp://ftp.plig.net/pub/CPAN/
http://ftp.ticklers.org/pub/CPAN/
ftp://ftp.ticckles.org/pub/CPAN/
http://cpan.mirrors.uk2.net/
ftp://mirrors.uk2.net/pub/CPAN/
http://mirror.ox.ac.uk/sites/www.cpan.org/
ftp://mirror.ox.ac.uk/sites/www.cpan.org/

美国
巴哈马
http://www.securehost.com/mirror/CPAN/

加拿大
http://cpan.arcticnetwork.ca
ftp://mirror.arcticnetwork.ca/pub/CPAN
http://cpan.sunsite.ualberta.ca/
ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
http://theoryx5.uwinnipeg.ca/pub/CPAN/
ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
http://arwen.cs.dal.ca/mirror/CPAN/
ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
http://CPAN.mirror.rafal.ca/
ftp://CPAN.mirror.rafal.ca/pub/CPAN/
ftp://ftp.nrc.ca/pub/CPAN/
http://mirror.csclub.uwaterloo.ca/pub/CPAN/
ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/

墨西哥
http://www.msg.com.mx/CPAN/
ftp://ftp.msg.com.mx/pub/CPAN/

美国
阿拉巴马
http://mirror.hiwaay.net/CPAN/
ftp://mirror.hiwaay.net/CPAN/

亚利桑那
http://cpan.ezarticleinformation.com/

加州
http://cpan.knowledgematters.net/
http://cpan.binkerton.com/
http://cpan.develooper.com/
http://mirrors.gossamer-threads.com/CPAN
http://cpan.schatt.com/
http://mirrors.kernel.org/cpan/
ftp://mirrors.kernel.org/pub/CPAN
http://mirrors2.kernel.org/cpan/
ftp://mirrors2.kernel.org/pub/CPAN/
http://cpan.mirror.facebook.net/
http://mirrors1.kernel.org/cpan/
ftp://mirrors1.kernel.org/pub/CPAN/
http://cpan-sj.viaverio.com/
ftp://cpan-sj.viaverio.com/pub/CPAN/
http://www.perl.com/CPAN/

佛罗里达
ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
http://mirror.atlantic.net/pub/CPAN/
ftp://mirror.atlantic.net/pub/CPAN/

爱达荷州
http://mirror.its.uidaho.edu/pub/cpan/
ftp://mirror.its.uidaho.edu/cpan/

伊利诺伊
http://cpan.mirrors.hoobly.com/
http://cpan.uchicago.edu/pub/CPAN/
ftp://cpan.uchicago.edu/pub/CPAN/
http://mirrors.servercentral.net/CPAN/
http://www.stathy.com/CPAN/
ftp://www.stathy.com/CPAN/

印地安那
ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
http://cpan.netnitco.net/
ftp://cpan.netnitco.net/pub/mirrors/CPAN/
http://ftp.ndlug.nd.edu/pub/perl/
ftp://ftp.ndlug.nd.edu/pub/perl/

马萨诸塞
http://mirrors.ccs.neu.edu/CPAN/

密歇根州
http://ftp.wayne.edu/cpan/
ftp://ftp.wayne.edu/cpan/

明尼苏达
http://cpan.msi.umn.edu/

新泽西州
http://mirror.datapipe.net/CPAN/
ftp://mirror.datapipe.net/pub/CPAN/

纽约
http://mirrors.24-7-solutions.net/pub/CPAN/
ftp://mirrors.24-7-solutions.net/pub/CPAN/
http://mirror.cc.columbia.edu/pub/software/cpan/
ftp://mirror.cc.columbia.edu/pub/software/cpan/
http://cpan.belfry.net/
http://cpan.erlbaum.net/
ftp://cpan.erlbaum.net/CPAN/
http://cpan.hexten.net/
ftp://cpan.hexten.net/
ftp://mirror.nyi.net/CPAN/
http://mirror.rit.edu/CPAN/
ftp://mirror.rit.edu/CPAN/

北卡罗来纳
http://www.ibiblio.org/pub/mirrors/CPAN
ftp://ftp.ncsu.edu/pub/mirror/CPAN/

俄勒冈
http://ftp.osuosl.org/pub/CPAN/
ftp://ftp.osuosl.org/pub/CPAN/

宾夕法尼亚
http://ftp.epix.net/CPAN/
ftp://ftp.epix.net/pub/languages/perl/
http://cpan.pair.com/
ftp://cpan.pair.com/pub/CPAN/

南卡罗来纳
http://cpan.mirror.clemson.edu/

田纳西
http://mira.sunsite.utk.edu/CPAN/

德州
http://mirror.uta.edu/CPAN

犹他州
ftp://mirror.xmission.com/CPAN/

弗吉尼亚州
http://cpan-du.viaverio.com/
ftp://cpan-du.v​​iaverio.com/pub/CPAN/
http://perl.secsup.org/
ftp://perl.secsup.org/pub/perl/
ftp://mirror.cogentco.com/pub/CPAN/

华盛顿
http://cpan.llarian.net/
ftp://cpan.llarian.net/pub/CPAN/
ftp://ftp-mirror.internap.com/pub/CPAN/

威斯康星
http://cpan.mirrors.tds.net
ftp://cpan.mirrors.tds.net/pub/CPAN
http://mirror.sit.wisc.edu/pub/CPAN/
ftp://mirror.sit.wisc.edu/pub/CPAN/

大洋洲
澳大利亚
http://mirror.internode.on.net/pub/cpan/
ftp://mirror.internode.on.net/pub/cpan/
http://cpan.mirror.aussiehq.net.au/
http://mirror.as24220.net/cpan/
ftp://mirror.as24220.net/cpan/

新西兰
ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
http://cpan.inspire.net.nz
ftp://cpan.inspire.net.nz/cpan
http://cpan.catalyst.net.nz/CPAN/
ftp://cpan.catalyst.net.nz/pub/CPAN/

南部 美国
阿根廷
http://cpan.patan.com.ar/
http://cpan.localhost.net.ar
ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN

巴西
ftp://cpan.pop-mg.com.br/pub/CPAN/
http://ftp.pucpr.br/CPAN
ftp://ftp.pucpr.br/CPAN
http://cpan.kinghost.net/

智利
http://cpan.dcc.uchile.cl/
ftp://cpan.dcc.uchile.cl/pub/lang/cpan/

哥伦比亚
http://www.laqee.unal.edu.co/CPAN/

RSYNC 镜子
镜像.as24220.net::cpan
cpan.inode.at::CPAN
gd.tuwien.ac.at::CPAN
ftp.belnet.be::包/cpan
rsync.linorg.usp.br::CPAN
rsync.arcticnetwork.ca::CPAN
CPAN.镜像.rafal.ca::CPAN
mirror.csclub.uwaterloo.ca::CPAN
理论x5.uwinnipeg.ca::CPAN
www.laqee.unal.edu.co::CPAN
镜像.uni-c.dk::CPAN
rsync.nic.funet.fi::CPAN
rsync://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
mir1.ovh.net::CPAN
miroir-francais.fr::cpan
ftp.crihan.fr::CPAN
rsync://mirror.cict.fr/cpan/
rsync://mirror.netcologne.de/cpan/
ftp-stud.hs-esslingen.de::CPAN/
ftp.gwdg.de::FTP/语言/perl/CPAN/
cpan.mirror.iphh.net::CPAN
cpan.cpantesters.org::cpan
cpan.hu::CPAN
komo.vlsm.org::CPAN
镜像.unej.ac.id::cpan
ftp.esat.net::/pub/languages/perl/CPAN
ftp.heanet.ie::mirrors/ftp.perl.org/pub/CPAN
rsync.panu.it::CPAN
cpan.fastbull.org::CPAN
ftp.kddilabs.jp::cpan
ftp.nara.wide.ad.jp::cpan/
rsync://ftp.jaist.ac.jp/pub/CPAN/
rsync://ftp.riken.jp/cpan/
镜像.linuxiso.kz::CPAN
rsync://mirrors3.kernel.org/mirrors/CPAN/
rsync://rsync.osmirror.nl/cpan/
mirror.leaseweb.com::CPAN
cpan.natile.nc::CPAN
镜像.icis.pcz.pl::CPAN
piotrkosoft.net::镜像/CPAN
rsync://cpan.perl.pt/
ftp.kaist.ac.kr::cpan
cpan.sarang.net::CPAN
镜像.averse.net::cpan
rsync.oss.eznetsols.org
镜像.ac.za::cpan
ftp.is.co.za::IS-Mirror/ftp.cpan.org/
rsync://ftp.gui.uva.es/cpan/
rsync://mirrors4.kernel.org/mirrors/CPAN/
ftp.solnet.ch::CPAN
ftp.ulak.net.tr::CPAN
gafol.net::cpan
rsync.mirrorservice.org::ftp.funet.fi/pub/
rsync://rsync.mirror.8086.net/CPAN/
rsync.mirror.anlx.net::CPAN
mirror.bytemark.co.uk::CPAN
ftp.plig.net::CPAN
rsync://ftp.ticckles.org:CPAN/
mirrors.ibiblio.org::CPAN
cpan-du.v​​iaverio.com::CPAN
镜像.hiwaay.net::CPAN
rsync://mira.sunsite.utk.edu/CPAN/
cpan.mirrors.tds.net::CPAN
镜像.its.uidaho.edu::cpan
rsync://mirror.cc.columbia.edu::cpan/
ftp.fxcorporate.com::CPAN
rsync.atlantic.net::CPAN
mirrors.kernel.org::mirrors/CPAN
rsync://mirrors2.kernel.org/mirrors/CPAN/
cpan.pair.com::CPAN
rsync://mirror.rit.edu/CPAN/
rsync://mirror.facebook.net/cpan/
rsync://mirrors1.kernel.org/mirrors/CPAN/
cpan-sj.viaverio.com::CPAN

有关 CPAN 站点的最新列表,请参阅 http://www.cpan.org/SITES or
ftp://www.cpan.org/SITES .

模块: 创建, 用, 滥用


(以下部分直接从 Tim Bunce 的模块文件中借用,可在
离您最近的 CPAN 站点。)

Perl 使用包实现类,但包的存在并不意味着
一个班级的存在。 包只是一个命名空间。 一个类是一个包,它提供
可以用作方法的子程序。 一个方法只是一个期望的子程序,如
它的第一个参数,可以是包的名称(对于“静态”方法),或者是对
某物(对于“虚拟”方法)。

一个模块是一个文件(按照惯例)提供一个同名的类(没有 .pm),
加上该类中的一个导入方法,可以调用它来获取导出的符号。 这个
模块可以通过加载动态 C 或 C++ 对象来实现它的一些方法,但是
应该对模块的用户完全透明。 同样,模块可能会设置
启动一个 AUTOLOAD 函数来按需插入子程序定义,但这也是
透明的。 只有 。下午 文件必须存在。 参见 perlsub、perlobj 和
AutoLoader 有关 AUTOLOAD 机制的详细信息。

指南 HPMC胶囊 模块 创建
· 类似的模块是否已经以某种形式存在?

如果是这样,请尝试整体或通过继承重用现有模块
有用的功能放到一个新的类中。 如果这不切实际,请尝试与
模块作者致力于扩展或增强现有的功能
模块。 一个完美的例子是 perl4 中用于处理的大量包
命令行选项。

如果您正在编写一个模块来扩展现有的一组模块,请
与包的作者协调。 如果您遵循相同的命名,它会有所帮助
方案和模块交互方案为原作者。

· 尝试将新模块设计为易于扩展和重用。

尝试“使用警告”; (或“使用警告 qw(...);”)。 请记住,您可以添加“不
警告 qw(...);" 到需要较少警告的单个代码块。

使用祝福引用。 使用bless的两个参数形式bless进入类
作为构造函数的第一个参数给出的名称,例如:

子新{
我的 $class = shift;
返回祝福 {}, $class;
}

如果您希望将其用作静态或虚拟方法,甚至可以使用此方法。

子新{
我的 $self = shift;
我的 $class = ref($self) || $self;
返回祝福 {}, $class;
}

将数组作为引用传递,以便以后可以添加更多参数(它也更快)。
在适当的情况下将函数转换为方法。 将大型方法拆分为较小的方法
更灵活的。 如果合适,从其他模块继承方法。

避免类名测试,例如:“die“Invalid”,除非 ref $ref eq 'FOO'”。 一般你
可以完全无害地删除“eq 'FOO'”部分。 让对象照看
他们自己! 通常,尽可能避免使用硬连接的类名。

避免使用“$r->Class::func()”,其中使用“@ISA=qw(... Class ...)”和“$r->func()”
工作。

使用自动拆分,这样很少使用或新添加的功能不会成为程序的负担
不使用它们。 在 __END__ 之后向模块添加测试函数,或者使用
AutoSplit 或说:

评估加入('', ) || 死 $@ 除非调用者();

您的模块是否通过了“空子类”测试? 如果你说“@SUBCLASS::ISA =
qw(YOURCLASS);" 您的应用程序应该能够以完全相同的方式使用 SUBCLASS
就像你的课堂一样。 例如,如果您更改:"$obj
= YOURCLASS->new();" 变成:"$obj = SUBCLASS->new();" ?

避免在包中保留任何状态信息。 这使得它很难
使用您的多个其他软件包。 将状态信息保存在对象中。

一律使用 -w.

尝试“使用严格;” (或“使用严格的 qw(...);”)。 请记住,您可以添加“不严格
qw(...);" 到不需要严格的单个代码块。

一律使用 -w.

遵循 perlstyle 中的准则。

一律使用 -w.

· 一些简单的风格指南

Perl 随附的 perlstyle 手册有很多有用的点。

编码风格是个人品味的问题。 很多人都改变了自己的风格
几年,他们学习什么可以帮助他们编写和维护良好的代码。 这是一个
一组似乎被有经验的开发人员广泛使用的各种建议:

使用下划线分隔单词。 通常更容易阅读
$var_names_like_this 比 $VarNamesLikeThis 多,特别是对于非母语者
英语。 这也是一个与 VAR_NAMES_LIKE_THIS 一致的简单规则。

包/模块名称是此规则的一个例外。 Perl 非正式地保留小写
'pragma' 模块的模块名称,如整数和严格。 其他模块正常
以大写字母开头并使用不带下划线的大小写混合(需要简短
和便携)。

您可能会发现使用字母大小写来表示一个范围或性质是有帮助的。
多变的。 例如:

仅限 $ALL_CAPS_HERE 常量(注意与 Perl 变量的冲突)
$Some_Caps_Here 包范围内的全局/静态
$no_caps_here 函数作用域 my() 或 local() 变量

函数和方法名称似乎最好全部小写。 例如,
“$obj->as_string()”。

您可以使用前导下划线来指示变量或函数不应
在定义它的包之外使用。

· 选择要导出的内容。

不要导出方法名称!

不要在没有充分理由的情况下默认导出任何其他内容!

导出会污染模块用户的命名空间。 如果您必须导出尝试使用
@EXPORT_OK 优先于 @EXPORT 并避免使用短名称或通用名称以降低风险
名称冲突。

通常,任何未导出的内容仍然可以从模块外部使用
ModuleName::item_name (或“$blessed_ref->method”)语法。 按照惯例,您可以使用
名称上的前导下划线以非正式地表示它们是“内部”而不是
供公众使用。

(实际上可以通过说:“my $subref = sub { ...
}; &$subref;"。但是没有办法直接将其作为方法调用,因为
方法必须在符号表中有一个名称。)

作为一般规则,如果模块尝试面向对象,则不导出任何内容。
如果它只是一个函数集合,那么@EXPORT_OK 除了使用@EXPORT 和
警告。

· 为模块选择一个名称。

此名称应尽可能具有描述性、准确和完整。 避免任何
歧义的风险。 始终尝试使用两个或多个完整的单词。 一般的名字
应该反映模块做什么的特别之处,而不是它是如何做的。
请使用嵌套的模块名称对模块进行非正式分组或分类。 那里
模块没有嵌套名称应该是一个很好的理由。 模块名称
应该以大写字母开头。

拥有 57 个都称为 Sort 的模块不会让任何人的生活变得轻松(尽管有 23
称为 Sort::Quick 只是稍微好一点:-)。 想象一下有人试图安装
您的模块以及许多其他模块。 如果有任何疑问,请在
comp.lang.perl.misc。

如果您正在开发一套相关的模块/类,最好使用
具有公共前缀的嵌套类,因为这将避免命名空间冲突。 例如:
Xyz::Control、Xyz::View、Xyz::Model 等。使用此列表中的模块作为命名
指南。

如果向集合中添加新模块,请遵循原作者的命名标准
模块以及这些模块中方法的接口。

如果为私有内部或项目特定用途开发模块,那将永远不会
向公众发布,那么你应该确保他们的名字不会与
任何未来的公共模块。 您可以使用保留的 Local::*
类别或使用包含下划线的类别名称,如 Foo_Corp::*。

为了便于移植,模块名称的每个组成部分都应限制为 11 个字符。 如果
它可能用于 MS-DOS 然后尝试确保每个在前 8 个中都是唯一的
人物。 嵌套模块使这更容易。

·你做对了吗?

你怎么知道你做出了正确的决定? 你选择了一个接口吗
以后会出现问题的设计? 你选到最合适的名字了吗? 做
你有什么问题吗?

确定并获得许多有用建议的最佳方法是询问某人
谁知道。 Comp.lang.perl.misc 被几乎所有开发人员阅读
模块,这是提问的最佳场所。

您需要做的就是发布该模块的简短摘要、其用途和接口。
每个主要方法上的几行可能就足够了。 (如果你发布整个
模块它可能会被忙碌的人忽略 - 通常是您想阅读的人
它!)

如果你不能说模块什么时候准备好,不要担心发布 - 只要说出来
在消息中。 邀请他人帮助您可能值得,他们也许能够
为你完成!

· 自述文件和其他附加文件。

众所周知,软件开发人员通常会完整记录他们的软件
写。 但是,如果世界迫切需要您的软件并且没有
有足够的时间来编写完整的文档,请至少提供一个 README 文件
包含:

· 模块/包/扩展等的描述。

· 版权声明 - 见下文。

· 先决条件 - 您可能还需要什么。

· 如何构建它 - Makefile.PL 等的可能更改。

· 如何安装。

· 此版本的最新变化,尤其是不兼容问题

· 您计划在未来进行的更改/增强。

如果 README 文件似乎变得太大,您可能希望拆分一些
部分到单独的文件:安装、复制、待办事项等。

· 添加版权声明。

您选择如何许可您的作品是个人决定。 一般机制
是主张您的版权,然后声明其他人可能会如何
复制/使用/修改您的作品。

例如,Perl 提供两种类型的许可证:GNU GPL 和
艺术许可证(请参阅文件 README、Copying 和 Artistic,或 perlgpl 和
偏执)。 Larry 有充分的理由不只是使用 GNU GPL。

出于对 Larry、Perl 和 Perl 社区的尊重,我的个人建议
总的来说就是简单地陈述一些事情:

版权所有 (c) 1995 你的名字。 版权所有。
该程序是免费软件; 您可以重新分发它和/或
按照与 Perl 本身相同的条款修改它。

此语句至少应出现在 README 文件中。 您可能还希望
将其包含在复制文件和源文件中。 记得包括其他
除了版权的话。

· 给模块一个版本/问题/发布号。

要与 Exporter 和 MakeMaker 模块完全兼容,您应该存储
您模块的版本号在一个名为 $VERSION 的非我的包变量中。 这个
应该是一个正浮点数,后面至少有两位数
十进制(即,百分之一,例如,“$VERSION = “0.01””)。 不要使用“1.3.2”样式
版本。 有关详细信息,请参阅导出器。

添加一个函数或方法来检索数字可能很方便。 使用
发布模块时公告和存档文件名中的编号
(ModuleName-1.02.tar.Z)。 有关详细信息,请参阅 perldoc ExtUtils::MakeMaker.pm。

· 如何发布和分发模块。

发布关于您的模块(或
模块本身(如果很小)到 comp.lang.perl.announce Usenet 新闻组。 这个
至少将确保非常广泛的一次性分发。

如果可能,请使用 CPAN 注册模块。 你应该包括它的详细信息
在您的公告中的位置。

关于 ftp 档案的一些注意事项:请使用一个长的描述性文件名
包括版本号。 大多数传入目录不会
可读/可列出,即上传后您将无法看到您的文件。
记得在之后尽快发送您的电子邮件通知消息
上传否则您的文件可能会被自动删除。 给文件留出时间
被处理和/或检查文件已被处理,然后再宣布其
的位置。

Perl 模块的 FTP 档案:

按照以下说明和链接进行操作:

http://www.cpan.org/modules/00modlist.long.html
http://www.cpan.org/modules/04pause.html

或上传到以下网站之一:

https://pause.kbx.de/pause/
http://pause.perl.org/

并通知[电子邮件保护]>.

通过使用 WWW 界面,您可以要求上传服务器镜像您的模块
从您的 ftp 或 WWW 站点到您自己的 CPAN 目录!

请记住向我发送模块列表的更新条目!

· 更改已发布的模块时要小心。

始终努力与以前发布的版本保持兼容。 否则试试
如果人们依赖它,则添加一种机制以恢复旧行为。 文档
不兼容的变化。

指南 HPMC胶囊 转换 Perl的 4 自学资料库 脚本 科目
· 不需要转换任何东西。

如果它没有坏,请不要修理它! Perl 4 库脚本应该继续使用
没问题。 您可能需要进行一些小的更改(例如转义非数组 @'s in
双引号字符串)但不需要将 .pl 文件转换为模块
只是。

· 考虑影响。

所有使用该脚本的 Perl 应用程序都需要更改(稍微)
如果脚本被转换为模块。 除非你打算做,否则值得吗
同时发生其他变化?

· 充分利用机会。

如果您要将脚本转换为模块,您可以利用这个机会
重新设计界面。 上面的模块创建指南包括许多
你应该考虑的问题。

· pl2pm 实用程序将帮助您入门。

此实用程序将读取 *.pl 文件(作为参数提供)并写入相应的 *.pm
文件。 pl2pm 实用程序执行以下操作:

· 添加标准模块序言行

· 将包说明符从 ' 转换为 ::

· 将 die(...) 转换为 croak(...)

· 其他几个小改动

作为一个机械过程 pl2pm 不是防弹的。 转换后的代码将需要
仔细检查,尤其是任何包语句。 不要删除原来的.pl
文件直到新的 .pm one 有效!

指南 HPMC胶囊 重用 应用领域 代码
· 完整的应用程序很少属于 Perl 模块库。

· 许多应用程序包含一些可以重用的 Perl 代码。

帮助拯救世界! 以易于重用的形式共享您的代码。

· 将可重用代码分解为一个或多个单独的模块文件。

· 借此机会重新考虑和重新设计界面。

· 在某些情况下,“应用程序”可以减少到一个小的

构建在可重用模块之上的代码片段。 在这些情况下,应用程序
可以调用为:

% perl -e '使用模块::名称; 方法(@ARGV)' ...
or
% perl -mModule::Name ...(在 perl5.002 或更高版本中)

注意


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

模块和它的用户有一个合同,一部分是普通法,一部分是
“书面”。 普通法契约的一部分是模块不会污染任何命名空间
它没有被要求。 模块的书面合同(AKA 文档)可能会使
其他规定。 但是当你“使用 RedefineTheWorld”时你就会知道
重新定义世界并愿意承担后果。

使用 onworks.net 服务在线使用 perlmodlib


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。