perl - UNIVERSAL不会导出任何内容

时间:2016-02-07 20:52:23

标签: perl

您好我在尝试运行perl脚本时收到以下错误:

pc:~/Phd/lenovo/programs/vep/scripts/variant_effect_predictor$ perl variant_effect_predictor.pl --help
UNIVERSAL does not export anything at /home/arron/Phd/lenovo/programs/vep/scripts/variant_effect_predictor/Bio/Tree/TreeFunctionsI.pm line 94.

违规行是:

use UNIVERSAL qw(isa)

问题是什么?

2 个答案:

答案 0 :(得分:3)

较早版本的UNIVERSAL

  

您可以请求导入三个功能(isacanVERSION),但此功能已弃用,将被删除。       请不要在新代码中执行此操作。

最新版本只是说

  

EXPORTS

     

无。

答案 1 :(得分:2)

来自Universal的文档:

  

本文档的早期版本建议使用isa作为确定引用类型的函数:

use UNIVERSAL 'isa';

$yes = isa $h, "HASH";
$yes = isa "Foo", "Bar";
  

问题是这段代码永远不会在任何类中调用重写的isa方法。相反,在第一种情况下使用Scalar :: Util的reftype:

use Scalar::Util 'reftype';

$yes = reftype( $h ) eq "HASH";

所以这种方法不再存在。