in reply to When is not necessarily

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.

Replies are listed 'Best First'.
Re: Re: When is not necessarily
by melguin (Pilgrim) on Oct 04, 2001 at 02:27 UTC
    Is there a way to force it to be a number?

    melguin

      In perl you don't need to force anything to be a number. Use it like a number and it will behave like a number, use it like a string and it will behave like a string.

      print "1 + " . 1 . " = " , eval ( "1 + " . 1 );

      cheers

      tachyon

      s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print