【发布时间】:2017-11-06 07:01:18
【问题描述】:
想象一下我的脚本有这两个子
sub with_json_mod{
use JSON::Tiny;
blah blah blah;
}
sub without_json_mod{
blah blah blah;
}
我只想在未安装JSON::Tiny 时使用without_json_mod。
如果没有安装 JSON::Tiny,我怎样才能让 Perl 不会失败,而是使用 without_json_mod 子代替?
我试图在with_json_mod 中调用require,它似乎可以工作,但是当我尝试让它导入encode_json 子时它不起作用
sub with_json_mod{
require JSON::Tiny qw/encode_json/;
blah blah blah;
}
【问题讨论】:
-
eval "use Module; 1"? -
我认为 eval 会受到影响,因为
use是编译时的事情。 -
是的,我正在考虑使用
eval对其进行测试,但很快就评论说,尽管您已经完美地总结了答案。 @Sobrique
标签: perl require perl-module