仅在子例程中需要时才使用 Perl 模块

约翰尼·卢

想象一下我的脚本有这两个子

sub with_json_mod{
    use JSON::Tiny;
    blah blah blah;
}

sub without_json_mod{
   blah blah blah;
}

我只想without_json_modJSON::Tiny没有安装使用

如果JSON::Tiny未安装Perl,如何使 Perl 不失败,而是使用without_json_modsub ?

我试着拨打requirewith_json_mod,它似乎工作,但是当我试着让它导入它不起作用encode_json子在

sub with_json_mod{
    require JSON::Tiny qw/encode_json/;
    blah blah blah;
}
清醒

那是因为你调用require错误。

你需要的是:

require JSON::Tiny;
JSON::Tiny -> import ( 'encode_json' );

您也可以将其包装在 'eval' 中,并测试 的值$@

eval { require JSON::Tiny; };
warn $@ if $@;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Perl线程-从模块(pm)调用子例程

来自分类Dev

Perl线程-从模块(pm)调用子例程

来自分类Dev

Perl:使用模块@list

来自分类Dev

使用Perl库而不是Perl中的模块

来自分类Dev

使用Perl库而不是Perl中的模块

来自分类Dev

仅在需要使用模块时才导入模块?

来自分类Dev

在Unix中安装Perl模块

来自分类Dev

使用cpanm安装Perl模块

来自分类Dev

使用 Perl 模块的最佳实践

来自分类Dev

仅在安装了模块时才需要

来自分类Dev

使用cpanm安装Perl模块时出错

来自分类Dev

Perl-在主脚本中嵌套模块和来自第二层嵌套模块的访问子例程

来自分类Dev

安装`XML :: Parser` Perl模块时出错

来自分类Dev

perl sftp模块安装时出现的问题

来自分类Dev

安装 DBI Perl 模块时出错

来自分类Dev

期望模块在Perl中不起作用

来自分类Dev

无法在Perl中安装Time :: Out模块

来自分类Dev

在Bash脚本中访问Perl模块

来自分类Dev

无法在Perl中安装GD模块

来自分类Dev

为Perl中的模块赋予备用名称

来自分类Dev

期望模块在Perl中不起作用

来自分类Dev

在Bash脚本中访问Perl模块

来自分类Dev

在Perl中创建数据库模块

来自分类Dev

Perl 5.18中缺少Shell模块

来自分类Dev

同一模块中的Perl对象

来自分类Dev

perl使用DateTime模块转换EPOCH时间

来自分类Dev

使用Perl模块IO :: Uncompress :: AnyUncompress

来自分类Dev

如何使用Perl的File :: Grep模块

来自分类Dev

如何使用cpanm更新perl模块