perl - 设置 perl 导出的常量
问题描述
我正在使用一个模块(Mail::SPF::Iterator),它导出一个常量以启用调试输出:
use Mail::SPF::Iterator Debug =>1; # enable debugging
如何稍后在代码中设置此常量,例如根据条件?
if ( my condition ) {
# set Debug to 1
}
解决方案
要使用的参数只是import
所用包的方法的参数。该use
命令在编译时运行,因此要么使用BEGIN块
BEGIN {
my $do_i_want_to_debug = ... ;
use Mail::SPF::Iterator Debug => $do_i_want_to_debug;
}
或者,如果您不知道在编译时确定值所需的一切,请使用require而不是use
:
my $do_i_want_to_debug = ... ;
require Mail::SPF::Iterator;
Mail::SPF::Iterator->import(Debug => $do_i_want_to_debug);
推荐阅读
- openmdao - 如何在 N^2 图上显示组件的输入和输出之间的依赖关系?
- actions-on-google - Welcome Intent 显示不同于其中定义的响应
- git - 没有有效的源代码控制提供程序
- curl - 安装在 /usr/local/lib 的 cURL 的未定义符号错误
- retrofit - 如何在改造请求中使用@path
- java - 将设置存储到数据库行中
- python - 尝试导入“ruamel.yaml”库会导致“ImportError: No module named ruamel.yaml”错误
- android - Google Play 开发者 API 的凭据
- android - 使用 Xamarin Android 设置搜索
- javascript - 如何在 forEach 循环中使用 JavaScript FileReader?