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)