2

我需要处理一个 Perl 脚本,它有一些任务,比如读/写 Excel 表、连接到 Oracle 数据库等。

首先我使用了 ActivePerl。在安装模块时,ActivePerl 抛出一个错误:

需要授权 401

(即添加模块需要营业执照。)

然后我用 Strawberry Perl 尝试了同样的方法,但我仍然无法安装。

我试过的:

  1. CPAN
  2. ppm
  3. 下载一个模块并使用它安装 nmake
  4. 使用Padre Perl IDE安装模块。

这是许可证问题吗?或者我在这里错过了什么?Perl 是用于开发的免费发行版吗?

该图显示了在 Strawberry Perl v5.22.0 上安装 DBD::Oracle:

在此处输入图像描述

4

3 回答 3

2

看起来您正在使用 Strawberry Perl。这不需要许可证或其他特殊步骤即可使用。它准备好了。

图片中最重要的输出行之一是“无法连接到 cpan.strawberryperl.com:80”。然后它尝试连接到其他站点并遇到同样的故障。看起来是网络问题。

于 2015-10-21T13:32:29.360 回答
1

ActivePerl 的社区版仅支持最新版本的 Perl,并且在 Business 和 Enterprise 版中可以访问为旧版本构建的包 ActiveState。

如果您安装 Perl 5.18.4、5.20.2 或 5.22.0,则不会出现 401 错误。

替代解决方案:使用 CPAN 而不是 ppm 来安装 Perl 模块。

查看更多信息:下载并安装 Perl:ActivePerl

于 2015-10-21T07:52:45.123 回答
1

ActiveState 是一家商业公司。他们发布了一个社区版,但他们从支持中赚钱。这部分意味着他们只提供“免费”的最新版本。这就是为什么你得到你所做的错误 - 升级到更新的 Perl,他们会让你更新。

更广泛地说——从技术上讲,每个模块都可以单独获得许可。无需在任何类型的 FLOSS 许可下发布 Perl 代码(包括模块)。

但是,请记住,ActiveState 社区版与 CPAN 模块的许可证不同。CPAN 模块是“主要是 GNU”。但是 ActiveState CE 有一些附加条款。

例如,

该软件的使用不受支持,并且用于非商业或非生产用途。

您应该注意审查许可证,因为如果您不小心,这确实是一个雷区。

于 2015-10-21T08:45:16.967 回答