Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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 我是否应该使用核心模块Net::Ping,即使它在CPAN测试仪上有这么多故障?_Perl_Cpan - Fatal编程技术网

Perl 我是否应该使用核心模块Net::Ping,即使它在CPAN测试仪上有这么多故障?

Perl 我是否应该使用核心模块Net::Ping,即使它在CPAN测试仪上有这么多故障?,perl,cpan,Perl,Cpan,Net::Ping似乎是一个很好的例子。然而,CPAN测试人员在最新版本2.41(以及较旧版本)中有数百次测试失败。这让我感到惊讶,并让我思考是否可以推荐使用此模块。有人知道原因吗?如果这是一个真正的问题 (至少对我来说,这是奇怪的,因为CPAN测试人员也是判断模块是否正确的一种方法。拥有一个失败如此之多的核心模块会降低我对“核心模块”的评价…CPAN和perl上的Net::Ping基本相同。即使包含了Net Ping,perl自己的测试套件在大多数情况下也会通过的唯一原因是Net Ping测试

Net::Ping
似乎是一个很好的例子。然而,CPAN测试人员在最新版本2.41(以及较旧版本)中有数百次测试失败。这让我感到惊讶,并让我思考是否可以推荐使用此模块。有人知道原因吗?如果这是一个真正的问题


(至少对我来说,这是奇怪的,因为CPAN测试人员也是判断模块是否正确的一种方法。拥有一个失败如此之多的核心模块会降低我对“核心模块”的评价…

CPAN和perl上的
Net::Ping
基本相同。即使包含了Net Ping,perl自己的测试套件在大多数情况下也会通过的唯一原因是Net Ping测试中存在以下行:

if ($ENV{PERL_CORE}) {
  unless ($ENV{PERL_TEST_Net_Ping}) {
    print "1..0 # Skip: network dependent test\n";
      exit;
  }
因此,在构建和测试perl本身时跳过网络测试(在本例中,设置了
perl\u CORE
环境变量)

为什么这么多测试都失败了?有时,查看相应的analysis.cpantests.org页面有助于: . 您会看到一系列“Can ping/reach www…”测试在这里失败。很明显,测试失败是因为一些外部服务器无法访问——只是它们关闭了,或者冒烟盒出现了网络问题


我认为使用
Net::Ping

是非常安全的,对不起,这是SO的主题,它是针对特定编程问题的。请阅读,也许编辑有助于。。。给我一秒钟,你想让我看看超过200个失败的测试报告,以决定使用一个核心模块吗?好。。。好啊我会对模块Foo::Bar这样做,但我只是认为对于Core有一些质量标准……模块不在Core中是因为它们有一流的质量,它们在那里是因为(a)它们需要安装其他模块,(b)它们具有历史意义(例如,
CGI
)或(c)因为它们对于Perl正确工作非常重要(例如,
Carp
strict
UNIVERSAL
mro
)。您链接到的测试结果大多来自最新版本(2.41)。此CPAN版本不一定与作为核心模块随各种PERL一起提供的版本相同(我在v16.2/v14.2 perls的安装中有2.38和2.36版本)。对于基本上基于网络的模块,不要过多地阅读测试结果。