我需要编写一个 Perl 脚本,该脚本具有一些任务,例如读取/写入 Excel 工作表、连接到 Oracle 数据库等。
首先我使用了ActivePerl。在安装模块时,ActivePerl 抛出错误:
需要授权401
(即添加模块需要营业执照。)
然后我尝试了与Strawberry Perl相同的方法,但仍然无法安装。
我尝试过的:
这是许可证问题吗?或者我在这里遗漏了什么? Perl 是一个免费的开发发行版吗?
该图显示了在 Strawberry Perl v5.22.0 上安装 DBD::Oracle:
看起来您正在使用 Strawberry Perl。这不需要许可证或其他特殊步骤即可使用。一切准备就绪,可以出发了。
图片中输出的最上面几行是“无法连接到 cpan.strawberryperl.com:80”。然后它尝试连接到其他站点,但出现同样的失败。看起来像是网络问题。
ActivePerl 的社区版仅支持最新版本的 Perl,并且可以在商业版和企业版中访问为旧版本构建的 ActiveState 包。
如果您安装 Perl 5.18.4、5.20.2 或 5.22.0,则不会收到 401 错误。
替代解决方案:使用 CPAN 而不是 ppm 来安装 Perl 模块。
查看更多信息:下载并安装 Perl:ActivePerl
ActiveState 是一家商业公司。他们发布了社区版本,但他们通过支持赚钱。这部分意味着他们只提供“免费”的最新版本。这就是为什么你会收到错误 - 升级到较新的 Perl,他们会让你更新。
更广泛地说 - 从技术上讲,每个模块都可以单独许可。不需要在任何类型的 FLOSS 许可证下发布 Perl 代码(包括模块)。
但是,请记住,ActiveState 社区版 与 CPAN 模块的许可证不同。 CPAN 模块是“主要是 GNU”。但 ActiveState CE 还有一些附加条款。
例如,
本软件的使用不受支持,且只能用于非商业或非生产用途。
您应该重视审查许可证,因为如果您不小心的话,这确实有点雷区。