1

我对 Perl Build 概念完全陌生。我正在努力在 Windows 7 上创建 Perl BUILD,并且我成功地运行了单个模块的构建。我遵循以下步骤:

  1. 我使用 module-starter 来创建新模块。它在 t 目录中有 lib/newmodule.pm 和少量测试 .t 脚本。
  2. 然后我跑了perl Build.pl,,然后。因此,我最终得到一个存档文件作为输出。我使用了 Module::Build in 。perl Buildperl Build testperl Build distBuild.pl
  3. 这里的模块启动器为您提供了t目录中包含 test::more 模块的示例代码。

所以这个过程我已经理解了,但是我对构建的概念不是很清楚。我有几个疑问:

我的开发环境是这样的:

  • C:\perl---Activestate perl 5.14.2
  • C:\development --- perl 代码的主文件夹
  • C:\development\project_name\bin\*.pl ---PL 文件(单个 PL 或 PL 从lib下面提到的目录中的 PM 文件中调用函数)
  • C:\development\project_name\lib\*.pm ---PM 文件(自定义 PM 具有被上述bin目录中的 PL 文件调用的功能)

我的问题:

  1. 这个目录结构好吗?
  2. 我应该在哪里将构建脚本保留在上述结构中(如果上述结构很好)?
  3. 是否会有一个完整的开发文件夹的构建脚本,或者每个 PL/PM 文件应该有多个构建脚本?
  4. Module::Build 是否足以为包括 PL 和 PM 文件在内的整个结构创建构建?
  5. 构建代码的结构应该是什么?Module-starter 给你的应该是一样的吗?如果是,那么目录的结构应该是t什么?请明确指导我应该如何构建目录以及应该存在哪些文件。
4

1 回答 1

1

我没有时间回答所有这些问题,但我建议你花一点时间简单地看一下其他模块的目录结构。https://metacpan.org/有一个非常好的“浏览”功能(当您查看特定模块时),它可以让您调查分发的结构。

我将直接回答的一个问题是:您可能不必编写任何TAP::Harness代码,Test::More应该就足够了。

最后一件事让你的问题难以理解,也许你不知道,它PLpl文件之间存在差异,所以只有当你的意思时才将它们大写;Build.PL可能是您需要的唯一大写字母。

于 2012-05-24T11:41:05.857 回答