如何在导出器模块中实现“use 5.010”?

时间:2011-08-28 15:52:05

标签: perl

我希望能够说:

use this;

并且相当于:

use 5.010;

那么我如何为模块import编写this函数?

package this;

sub import {
   my $caller = caller;
   ???
}

3 个答案:

答案 0 :(得分:3)

您需要的是导入功能编译指示:

package myfeature;
require feature;

sub import {
    feature->import(':5.10');
}

1;

有关详情,请参阅功能编译指示文档:http://perldoc.perl.org/feature.html

答案 1 :(得分:1)

您可以使用Modern :: Perl模块,它会自动启用5.10.x

答案 2 :(得分:0)

我明白你为什么要这样做,但这不是一个好主意。目前,use VERSION验证您至少运行了该版本的perl,并启用了指定版本中引入的功能。将来它还会实际修改某些功能的操作,以匹配它们在该版本中的工作方式。您真的希望为每个文件指定它,而不是为整个代码库指定它,或者当您想要更改它时,您会遇到麻烦。