Warnings in Perl Eval -
i need hide warnings within eval rest of code should continue throw warning messages. here have -
eval "\$value = $hash->{key}"; now value of $hash->{key} function call, like:
$hash->{key} = "function(0.01*$another_var)"; the problem comes when $another_var undef (or ""). script craps out following message -
argument "" isn't numeric in multiplication (*) @ (eval 1381) line 1.
any suggestions how can avoid this? 1 option thinking parse value inside parenthesis , evaluate first, quite complex data dealing with.
wrap code in no warnings block.
... { no warnings; eval "\$value = $hash->{key}"; } ... you can disable specific classes of warnings. see perllexwarn hierarchy of warning categories , perldiag category particular warning belongs to.
{ no warnings qw(uninitialized numeric); eval "\$value = $hash->{key}"; } (blah blah blah standard disclaimer 1 disable warnings unfit within 25 feet of adding machine blah blah)
Comments
Post a Comment