perl - 同时使用 ActivePerl 和 Strawberry

标签 perl strawberry-perl activeperl

我最近将我的客户端 64 位 ActivePerl 版本从 5.10.1.1007 版本升级到 5.22.2.2203,并且遇到了很多问题。

我真的更愿意跳到 Strawberry,但我必须先在我每天运行的每个关键 Perl 应用程序上测试它。

我可以安装 Strawberry 的可移植版本并对其进行测试,同时继续使用 ActivePerl 版本进行生产工作吗?

(其他与我类似的 stackoverflow 问题仅收到有关服务器端 Perl 的答案。)

最佳答案

你可以,你只需要注意你使用的是哪个 perl。在您的 PATH 中只有一个可以是“第一个”。为此,我建议将旧的 perl 保留为默认的主要 perl。这对现有(生产)代码的影响最小。

但是,您可以在 PATH 中使用不同名称的辅助 perl。例如,perl5.22.2.exe 可能在您的 PATH 中,您可以在运行测试时使用它。

如果你有一个批处理文件或类似的 perl 脚本包装器,你可以让每个应用程序的批处理文件为该应用程序运行正确的 perl,你只需要 a) 一种覆盖它使用的 perl 的方法, b) 让它默认为你希望它使用的 perl 的测试级别。这样您可以使用 5.22.2 测试一段时间,但默认值仍然是 5.10.1。然后,当您准备好切换该应用程序时,您可以将默认值切换到 5.22.2。

无论是客户端还是服务器端对此都没有任何真正的区别。

(而且平台也没有太大区别 - 虽然 unix/linux 系统上的实际实现可能有点不同,但总体思路不一定如此。您可以同时安装两者,并在必要时按应用程序管理要在应用程序上使用的 perl。)

关于perl - 同时使用 ActivePerl 和 Strawberry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895994/

相关文章:

arrays - 为什么数组中重复的哈希条目会引用 Perl 中的第一个条目

perl - 如何获取草莓perl中最后执行的命令的值

perl - 直接获取特别是设置 Perl 模块的全局变量是否合适?

perl - Perl Moose 类中的私有(private)变量

javascript - 如何将变量值从 javascript 传递到 perl

perl - Perl 的哪个部分不喜欢 NTFS 连接?

perl - 为什么 Perl 中的反引号操作符在 Windows 上没有引号就不能工作?

sqlite - 如何修复 ActivePerl 的 PPM "database disk image is malformed"错误?

perl - 如何从批处理文件将参数传递给perl脚本

windows - Windows 上的 Perl : Problems with Encoding