8

我想安装一个 Perl 模块(在本例中为FindBin),但由于它包含在Perl 5.10.1 发行版中,cpan我想为我安装 Perl 5.10。有没有办法只通过安装模块cpan

我能看到的唯一选择是直接从 source 安装,这似乎有点粗糙,因为没有单独的包(例如Makefile.PL,等),只有裸.pm文件。

由于这是一个只有一个文件的小模块,在这种情况下是可行的,但如果我想安装一个更大的包怎么办?

编辑:这与原始问题有所不同,但涉及与 Perl 发行版打包在一起的模块的一般问题:我发现“独立” FindBin (版本 1.49)有语法错误,所以我检索了版本 1.50 Perl 5.10.1 发行版...但是,由于该模块现在作为 Perl 5.10 的一部分列在 CPAN 上,因此我无法找到描述此增量中更改/修复的内容的 CHANGES 文件。我必须进入开发者存储库来提取这些信息是否合理?)


编辑 2. 好的,这是一个更好的例子。在 Perl 5.8.8 上,我有 Carp 的 1.04 版本。但是,我看到 Perl 5.10.1 与 1.11 版本一起打包。有没有办法让 CPAN 为我安装最新版本的 Carp 而无需拖入所有 Perl 5.10.1?除了perl 5.10.1 安装之外,我什至找不到 CPAN 上 Carp 模块的链接。

4

2 回答 2

3
> corelist FindBin

FindBin was first released with perl 5.00307

您使用的哪个版本的 Perl 不包含 FindBin?如果您至少使用 Perl 5.6.0(之前的所有版本都被视为已弃用),则无需安装 FindBin。如果您有任何旧版本,我建议升级到 5.6.2/5.8.9/5.10.1。

Kurila 不是“独立”的 FindBin,它是 Perl 的一种方言。FindBin 不是双重生命,仅与 Perl 捆绑发布。您可以考虑将 FindBin 作为独立发行版发布到 CPAN - 如果您过去使用过 ExtUtils::MakeMaker,这很容易。

FindBin 的最新有用更改是在 2007-04-28,与 VMS 有关。最新有用的非 VMS 更改是在 2006 年 10 月 25 日。

于 2009-10-10T10:56:19.147 回答
1

您可以尝试的事情包括

  • 将 FindBin.pm 放到与可执行文件相同的目录中并使用use FindBin
  • 将 FindBin.pm 放入您的 Perl 库目录
  • 在脚本中使用模块的源代码
于 2009-10-10T00:38:14.607 回答