I don't know what happened but I thought i posted this while ago but didn't see it on newest nodes nor under nodes I wrote so hopefulli this is not a double post
I dont' think I am understanding eval correctly or using it incorrectly but I thought below statement should catch wrong math(like division by 0 or something)
I am getting below error while running the program
} else { $oo_o{$_} = sprintf("%.2f" ,eval {( ( $start_o{$_} / ($tota +l_o{$_} - $now_o{$_}) ) * 100 )} ); $oo_xxx_o{$_} = sprintf("%.2f", eval{( ( $start_o{$_} / $to +tal_o{$_}) * 100 )} ); } } There were 5 of them occured Use of uninitialized value in subtraction (-) at ./sreport line 257, < +> line 22420 (#1) (W uninitialized) An undefined value was used as if it were alread +y defined. It was interpreted as a "" or a 0, but maybe it was a mi +stake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what ope +ration you used the undefined value in. Note, however, that perl optimiz +es your program and the operation displayed in the warning may not necessa +rily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer +to the concatenation (.) operator, even though there is no . in your program. Use of uninitialized value in division (/) at ./sreport line 257, <> l +ine 22420 (#1) Use of uninitialized value in division (/) at ./sreport line 258, <> l +ine 22420 (#1)
In reply to eval not working the way I expected? by convenientstore
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |