6

我想迁移我的应用程序使用的 perl 库 (SOAP::Lite)。为了让最终用户尽可能顺利地进行迁移,我希望这个库的两个版本(旧版本和新版本)能够并行工作。

目标是让最终用户在需要时自行迁移他们的脚本(如果需要)。所以基本上,对于旧脚本,用户无需更改任何内容,而新脚本将使用新版本编写。

有谁知道如何进行?

4

2 回答 2

1

使用only。​​​​​​​​​​​​​​​​​​​​​​​​​​</p>

于 2015-10-09T11:54:14.250 回答
1

正如您在评论中提到的那样,每个脚本都由作为调度程序请求的 Java 应用程序调用,因此您不需要“一次”两个模块。取而代之的是,每次运行脚本只需要一个或另一个。这可以通过在调用旧脚本或新脚本时适当地设置环境来处理。

如果您愿意,可以使用Perlbrew等解决方案来管理两个或更多完全不同的 Perl 安装。如果您发现需要新旧版本之间的其他差异,这将是一个好方法。

但是,如果您只是想换掉这个模块的版本,您需要做的就是在某个地方安装,并在调用脚本时更改模块路径。有多种方法可以做到这一点,但您可以只使用命令行开关

perl -Idirectory script.pl

这会将目录添加到@INC搜索模块的位置集。适当地指向旧模块或新模块(如果这样做,请确保模块的任何版本都不在标准模块路径中,否则您使用的版本会产生歧义)。

于 2015-10-09T12:12:48.340 回答