Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查模块与不同Perl版本的兼容性_Perl_Perl Module - Fatal编程技术网

检查模块与不同Perl版本的兼容性

检查模块与不同Perl版本的兼容性,perl,perl-module,Perl,Perl Module,是否有一个命令行开关或任何其他简单的方法可以检查我的模块与不同版本的perl的兼容性?我明白如果我把放在5.6.1中在脚本顶部,脚本将禁用5.6.1之后的任何功能。但是如果我有一个模块使用了其他几个模块等等,那么我需要一种更快的方法来检查Makefile.PL或Build.PL中需要什么最低版本的Perl 您只需安装不同版本的perl并对其进行测试即可。我手动将它们安装在不同的位置,但如果您想实现自动化,请使用perlbrew 可能有一些脚本或策略试图找到所需的最低版本的perl,但我在几年前尝

是否有一个命令行开关或任何其他简单的方法可以检查我的模块与不同版本的perl的兼容性?我明白如果我把
放在5.6.1中在脚本顶部,脚本将禁用5.6.1之后的任何功能。但是如果我有一个模块使用了其他几个模块等等,那么我需要一种更快的方法来检查Makefile.PL或Build.PL中需要什么最低版本的Perl

您只需安装不同版本的perl并对其进行测试即可。我手动将它们安装在不同的位置,但如果您想实现自动化,请使用perlbrew


可能有一些脚本或策略试图找到所需的最低版本的perl,但我在几年前尝试获得并汇总最低版本的perl时发现,这些脚本或策略都很笨拙且不可靠。当然,这并不意味着它不存在或无法完成,而只是我找不到它。

使用v5.6.1
和类似版本时,如果使用的Perl版本比指定版本旧,则主要会引发编译时错误。此外,还启用了相应的功能包,如果版本为v5.11或更高版本,则还启用了
strict
pragma

使用v5.6.1
将不会使PerlV5.8的行为与v5.6.1类似,而且无法实现这一点。即使在更高版本中,也只有可以使用
功能
杂注来控制的功能可以调整到给定的版本


要测试您的模块,您必须安装每个不同版本的Perl并分别进行测试。

运行您的模块。

我通常不使用Windows,但当我使用Windows时,我使用草莓Perl。在虚拟机中安装Linux测试装备非常有用。VirtualBox将免费为您提供一个虚拟机。我支持使用perlbrew。它非常适合在一台机器上运行多个版本的Perl。见上传至;在每个操作系统的每个Perl版本上运行几乎所有内容。“我知道如果我在脚本顶部使用5.6.1,脚本将禁用5.6.1之后的任何功能”。如果省略
使用5.6.1
,脚本将暂停并禁用以后的功能。@Flimm是的,这可能是一个拼写错误,但我记不起我说了什么。应“启用”?特性pragma的文档说明,
use
或更高版本的
v5.10
自动包含相应的特性包。比通过多个PERL运行要好得多(尽管这有其自身的优点)