目录

名称

perlsource - Perl 源代码树指南

说明

本文档介绍 Perl 源代码树的布局。如果您正在破解 Perl 核心,这将帮助您找到所需内容。

查找路径

Perl 源代码树很大。以下是您在其中找到的一些内容

C 代码

C 源代码和头文件主要位于源代码树的根目录中。有一些包含 C 代码的特定于平台的目录。此外,随 Perl 一起提供的某些模块包括 C 或 XS 代码。

有关构成 Perl 解释器的文件以及有关其工作原理的详细信息,请参阅 perlinterp

核心模块

作为 Perl 核心一部分提供的模块存在于四个子目录中。其中两个目录包含存在于核心中的模块,另外两个目录包含也可以在 CPAN 上单独发布的模块。可以在 cpan 上发布的模块称为“双生命周期”模块。

对于某些双生命周期模块,尚未确定 CPAN 版本还是 blead 源为规范。在完成之前,这些模块应位于cpan/中。

测试

Perl 核心具有广泛的测试套件。如果您添加新测试(或带有测试的新模块),您可能需要更新t/TEST文件,以便运行测试。

文档

所有面向最终用户的核心文档都位于 pod/ 中。lib/ext/dist/cpan/ 中的各个模块通常有自己的文档,位于 Module.pm 文件或随附的 Module.pod 文件中。

最后,面向核心 Perl 开发人员的文档位于 Porting/ 目录中。

黑客工具和文档

Porting 目录包含一个代码和文档大杂烩,旨在帮助移植人员处理 Perl。一些亮点包括

构建系统

类 Unix 系统上的 Perl 构建系统从根目录中的 Configure 脚本开始。

构建系统的平台特定部分也存在于平台特定目录中,如 win32/vms/ 等。Windows 和 VMS 在各自的目录中都有自己的类似于 Configure 的脚本。

Configure 脚本(或类似的平台特定脚本)最终负责从 Makefile.SH 生成 Makefile

Perl 使用的构建系统称为 metaconfig。该系统与 Perl 核心分开维护,并且了解平台特定的类似于 Configure 的脚本以及 Configure 本身。

metaconfig 系统有自己的 git 存储库。有关更多详细信息,请参阅 https://github.com/Perl/metaconfig 中的 README 文件。

Cross 目录包含与 Perl 交叉编译相关的各种文件。有关更多详细信息,请参阅 Cross/README

AUTHORS

此文件列出了所有为 Perl 做出贡献的人。如果您提交补丁,您应该将您的姓名作为补丁的一部分添加到此文件中。

MANIFEST

源代码树根目录中的 MANIFEST 文件包含 Perl 核心中的每个文件的列表以及每个文件的简要说明。

您可以使用以下命令获取所有文件的概述

% perl -lne 'print if /^[^\/]+\.[ch]\s+/' MANIFEST