Perl Eval中的警告

Perl Eval中的警告,第1张

概述我需要在eval中隐藏警告,但其余代码应该继续发出警告消息.这是我的 – eval "\$value = $hash->{key}"; 现在,$hash-> {key}的值可以是函数调用,如: $hash->{key} = "function(0.01*$another_var)"; $another_var是undef(或“”)时出现问题.该脚本只是通过以下消息进行解析 – Argument “ 我需要在eval中隐藏警告,但其余代码应该继续发出警告消息.这是我的 –

eval "$value = $hash->{key}";

现在,$hash-> {key}的值可以是函数调用,如:

$hash->{key} = "function(0.01*$another_var)";

$another_var是undef(或“”)时出现问题.该脚本只是通过以下消息进行解析 –

Argument “” isn’t numeric in
multiplication (*) at (eval 1381) line
1.

有什么建议我可以避免这个吗?
我想的一个选择是解析括号内的值并首先评估它,但它与我正在处理的数据相当复杂.

解决方法 将代码包装在无警告块中.

...{    no warnings;    eval "$value = $hash->{key}";}...

您还可以禁用特定类别的警告.有关警告类别的层次结构,请参阅perllexwarn;有关任何特定警告所属的类别,请参阅perldiag.

{    no warnings qw(uninitialized numeric);    eval "$value = $hash->{key}";}

(blah blah blah标准免责声明,任何一个禁用警告的人都不适合在加入机器的25英尺范围内等等)

总结

以上是内存溢出为你收集整理的Perl Eval中的警告全部内容,希望文章能够帮你解决Perl Eval中的警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存