Perl 编程/CPAN
一个庞大的免费 Perl 模块集合,涵盖从高级数学到数据库连接、网络等,可以从称为 CPAN 的站点网络下载。CPAN 上的大多数或全部软件也都是根据 Artistic License、GPL 或两者发布的。CPAN.pm 也是 Perl 模块的名称,它从 CPAN 镜像站点之一下载并安装其他 Perl 模块;这些安装可以通过交互式提示完成,也可以完全自动化。
从命令行输入命令
ppm
这将为您提供一个“Perl 包管理器”提示,允许您从互联网下载和安装模块。例如,要安装 Time::HiRes 模块,请输入
search time::hires
这将显示与您的搜索查询匹配的模块列表。一旦您知道模块可用且确切名称是什么,就可以使用以下命令安装该模块
install Time::HiRes
如果您使用的是普通版本的 Perl,激活包管理器的常用方法是
perl -MCPAN -e shell;
这将加载 CPAN 模块,并允许您搜索、下载、安装和管理计算机上的模块,与 PPM 相同。
Perl 模块 cpanm (CPAN Minus) 是另一个从 CPAN 库安装模块的替代方法 cpanminus.pm.
cpanm可以在类 Unix 系统上像这样安装和使用
curl -L "http://cpanmin.us" >cpanm chmod +x cpanm ./cpanm LWP::Bundle
必须具有 root 权限才能在系统范围的目录中安装模块,但是存在替代方法,例如 local::lib,它允许普通用户在其主文件夹中安装和使用 Perl 模块 lib.pm.
Strawberry Perl 也包含 CPAN 模块,因此您可以使用上面的命令激活包管理器。
但是,开始菜单中还包含一个快捷方式(名为"CPAN 客户端"),因此您不必进入命令行即可执行此操作。
Strawberry Perl 中包含了许多模块,超出了普通版本的 Perl 或 ActivePerl 中提供的模块,因此您可能希望检查一下,看看您想要的模块是否已安装,然后再启动 CPAN 客户端。
要将模块合并到您的程序中,请使用use关键字
use Time::HiRes;
如果您担心模块中的一些函数名与您正在使用的函数名太相似,可以提供一个可选列表,列出您要使用该模块中的函数
use Time::Hires qw(time gmtime);
完成此操作后,您可以像往常一样使用提供的函数。大多数模块在其文档中都有示例程序,使用模块的最佳方法是复制和修改其中一个示例程序。
每个模块的文档都会在您获得新模块时安装到您的文档目录中,或者您也可以在 search.cpan.org 和 perldoc.perl.org 上浏览文档。
在 Unix 系统上,文档通常作为部分中的man页面安装3p以便以下命令可以正常工作
man 3p Module::Name
perldoc Module::Name也可以正常工作。
如果您想要可以在 Web 浏览器中浏览的文档,可以安装 Perldoc::Server,如下所示。
模块文档作为 ActivePerl 中的 HTML 文件安装。要查找这些文件,请尝试查看以下目录中的一些目录
- C:\Perl\html\lib
- C:\Perl\html\site\lib
如果您在查找模块的 HTML 文档时遇到了麻烦,您可以阅读*.pmPerl 文件本身以获取 POD 注释,或者使用pod2html工具自行生成 HTML 文件。
Strawberry Perl 不会将模块文档安装为 man 页面或 html 文件。相反,您可以运行 perldoc 命令来显示模块文档。
perldoc Module::Name
您也可以使用Perldoc::Server来显示模块文档,如下所示。
Perldoc::Server 模块(可以通过 CPAN 安装)将提供一个本地服务器,该服务器将从 Perl 的文档以及已安装模块的文档中“动态”显示 HTML 文件。安装它,以及命令
perldoc-server
将位于您的路径中。运行它,然后浏览到https://127.0.0.1:7375/在您的 Web 浏览器中查看文档。
请注意,perldoc-server 命令必须在运行时才能使用此方法提供文档。
如果 CPAN 上没有您需要的模块,通常的答案是自己编写模块并将其添加到 CPAN。这样,其他任何人都不需要浪费时间创建您已经编写过的相同功能。
请参阅 如何向 CPAN 贡献模块