If the initial value in your config hash contains any word character (alpha, numeric, or underscore), then the first branch will be taken, and nothing will happen.
And, of course, the obligatory cleaned up code:
($level, $computer, $iod, $comment, $min_value, $min_time, $max_value, + $max_time)= /^\s*(\d),(\w+),([\d\.]+),([^,]+),([^,]+),(\d+:\d+),([^,]+),(\d+:\d+) +,.*$/ or exit_error("Cannot parse log file"); $clip=CONFIG{$computer}{iod}{$iod}{value}; if ($min_value<$clip) { $min_value=$clip; $min_time="$hour:$min"; } elsif ($max_value>$clip) { $max_value=$clip; $max_time="$hour:$min"; } print LOG (join ',', $level, $computer, $iod, $comment,$ min_value, $m +in_time, $max_value, $max_time, $clip, "$hour:$min"), "\n";
(Or you could possibly use split on the input line...)
Update: Whoops! I thought that logic was odd: I've inadvertantly reversed the sense of the tests. Its hould be $clip<$min_value and $clip>$max_value of course.
In reply to Re: When is not necessarily
by tommyw
in thread When is not necessarily
by melguin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |