Perl 和 CPAN
停止重复造轮子,开始建造太空火箭
综合 Perl 归档网络 (CPAN) 是查找、下载和安装任何令人难以置信(并且仍在增长)的 Perl 库集合的最佳去处。当今还有哪些其他编程环境可以从一个中央存储库免费提供 25,000 个可重复使用的代码模块?
CPAN 为开发人员提供了一个集成的工具链,以便他们找到完成工作所需的工具。CPAN 远不止是一个代码库存档,它还是 Perl 开发人员的完整成熟生态系统。
遵循 Perl 强大的 测试 传统,上传到 CPAN 的每个模块发行版都会在 各种平台和 Perl 配置上自动 测试。这无需开发人员的任何干预或努力:社区成员已建立了一个 测试网络,并捐赠他们的资源,以尽可能在他们可用的每个平台上使每个 Perl 模块都尽可能地健壮。这通常包括开发人员未曾预料或无法自行访问的配置:测试人员针对许多不同的 Unix(商业和免费)以及各种版本的 Windows 运行代码。这可以为开发人员提供宝贵的调试信息。除了测试模块和向开发人员报告故障外,任何人都可以浏览和搜索完整的报告数据库,以便为模块的成熟度及其是否适合其目的做出决策。
有许多网站专注于搜索构成 CPAN 的不断增长的代码集合。这些网站提供的服务不仅仅是搜索要使用的库:它们还提供开发人员工具(grep、版本到版本差异)。这些网站的另一个核心功能是基于 Web 的模块 API 和使用文档访问,这些文档采用 Perl 的集成 POD(普通旧文档)格式编写。
除了集成测试和搜索外,上传到 CPAN 的每个模块都可以免费访问 Best Practical Request Tracker 系统中的工单队列。使用此工单队列,用户可以报告他们遇到的任何 Perl 库问题,并在整个开发周期中与开发人员进行交流。此工单队列由 Perl 社区为所有上传的模块创建和维护,且无需开发人员付出任何努力,就像 Perl 社区提供的其他服务一样。
除了上述所有内容之外,上传到 CPAN 的每个模块都会在全球范围内镜像。这为开发人员和管理员提供了靠近他们的镜像,以便快速而稳健地安装。镜像过程是开放的,对存储库内容的访问也是开放的。这使管理员能够配置本地镜像以强制执行策略或最大程度地减少网络使用。通过这种方式,CPAN 既是集中式的又是分布式的:它是获取 Perl 库的唯一去处,但文件本身在全球范围内镜像。
所有这些努力相结合,使 Perl 拥有其他任何现代编程环境都无法声称的优势。