如何获取当前在perl模块中启用的一组警告检查?
发布时间:2020-12-15 21:59:42 所属栏目:大数据 来源:网络整理
导读:在 perllexwarn中定义了所有可能设置的警告. 但是这里没有什么,如何打印出我目前启用的警告. 例如.: use strict;use warnings;print warnings::enabled-pretty_print(); #fictional... 这怎么可能? 例: use strict;use 5.012;use warnings;my $aaa;say "$
在
perllexwarn中定义了所有可能设置的警告.
但是这里没有什么,如何打印出我目前启用的警告. 例如.: use strict; use warnings; print warnings::enabled->pretty_print(); #fictional... 这怎么可能? 例: use strict; use 5.012; use warnings; my $aaa; say "$aaa"; say warnings::enabled("uninitialized") ? "yes" : "no"; 以上将输出: Use of uninitialized value $aaa in string at y line 6. no 所以“未初始化”警告类别是“set”,因为它会打印一个警告,但是warnings :: enabled(“uninitialized”)不会返回true. 解决方法
阅读
perllexwarn
如果我理解正确,这意味着功能(启用,警告)仅适用于特定于模块的警告,而不适用于标准类别. (在文档中的“有”之前可能缺少“该”). 更新:似乎标准类别工作,但只有在一个模块: package MY; use warnings::register; sub S { my $x; print $x,"t"; print warnings::enabled("uninitialized"),"n"; } package main; use warnings; MY::S(); no warnings; MY::S(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |