我有很多 perl 代码在测试和生产中做不同的事情,我想将我的代码锁定到 CPAN 模块的特定版本,以防将来对其中一些模块进行一些更改,这可能会破坏我的代码。
所以我想使用我使用的所有模块的特定版本。我的意思是使用
use XML::Smart
我有很多 perl 代码在测试和生产中做不同的事情,我想将我的代码锁定到 CPAN 模块的特定版本,以防将来对其中一些模块进行一些更改,这可能会破坏我的代码。
所以我想使用我使用的所有模块的特定版本。我的意思是使用
use XML::Smart
要使用特定模块,请仅参考
use only MyModule => 0.30;
如果您想要的模块版本高于当前安装的模块版本,也会打印错误您可以说
use XML::Smart v1.6.9;
或者
use XML::Smart 1.6.9;
或
为了向后兼容
use XML::Smart 1.006_009;
参考perldoc:
- 使用模块版本列表
- 使用模块版本
- 使用模块列表
- 使用模块
- 使用版本
如果在 Module 和 LIST 之间存在 VERSION 参数,则用户将使用给定版本作为参数调用 Module 类中的 VERSION 方法。如果给定版本大于变量 $Module::VERSION 的值,则从 UNIVERSAL 类继承的默认 VERSION 方法会发出嘶嘶声。
你可以做低技术的事情:
BEGIN {
use XML::Simple;
die "..." unless XML::Simple->VERSION eq '1.23';
}
知道特定模块如何报告其版本令人头疼。该version
模块应该进行版本数学运算,但我发现它并不可靠,因为指定版本的方法太多。