while(){ next unless /\w/; my($server,$datetime,$metric,$value) = (split)[0,1,2,3]; $value =~ s/,//g ; my $ddhh = substr $datetime,0,13; my $dd = substr $datetime,0,10; if (! defined($d{$dd }{$server}{$metric}{max})) { $d{$dd }{$server}{$metric}{max} = 0; $d{$dd }{$server}{$metric}{min} = 99999999; $h{$ddhh }{$server}{$metric}{max} = 0; $h{$ddhh }{$server}{$metric}{min} = 99999999; } $d{$dd }{$server}{$metric}{max} = $value if ($d{$dd }{$server}{$metric}{max} < $value); $d{$dd }{$server}{$metric}{min} = $value if ($d{$dd }{$server}{$metric}{min} > $value); $h{$ddhh }{$server}{$metric}{max} = $value if ($h{$ddhh }{$server}{$metric}{max} < $value); $h{$ddhh }{$server}{$metric}{min} = $value if ($h{$ddhh }{$server}{$metric}{min} > $value); $ser{$server} = 1; $met{$metric} = 1; }