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中的警告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)