wspmon03/DISK.ssd123/DSKAvgServ Wed Nov 30 00:01:27 2006 7.34562 Wed Nov 30 00:02:29 2006 3.31222 Wed Nov 30 00:03:33 2006 1.23511 Wed Nov 30 00:04:23 2006 4.97532 Wed Nov 30 00:05:37 2006 5.31112 Wed Nov 30 00:06:36 2006 6.22991 wspmon03/DISK.ssd126/DSKAvgServ Wed Nov 30 00:01:27 2006 7.34562 Wed Nov 30 00:02:29 2006 3.31222 Wed Nov 30 00:03:33 2006 1.23511 Wed Nov 30 00:04:23 2006 4.97532 Wed Nov 30 00:05:37 2006 5.31112 Wed Nov 30 00:06:36 2006 6.22991 wspmon03/DISK.ssd129/DSKAvgServ Wed Nov 30 00:01:27 2006 7.34562 Wed Nov 30 00:02:29 2006 3.31222 Wed Nov 30 00:03:33 2006 1.23511 Wed Nov 30 00:04:23 2006 4.97532 Wed Nov 30 00:05:37 2006 5.31112 Wed Nov 30 00:06:36 2006 6.22991 #### #!/usr/local/bin/perl use Data::Dumper; use strict; # filename like wspmon03.DSKAvgServ.log my $filename = $ARGV[0]; (my $hostname, my $parameter) = split("\.", $filename, 2); open(FDAT, $filename) || die "Can't open file: $filename - $!\n"; my $count = 0; my $inst = ""; my $previous_inst = "dummy"; while() { if (/.*\/DISK\.(.*)\/.*/) { my $inst = $1; } else { if ($previous_inst ne $inst) { $count = 0; $previous_inst = $inst; } (my $dayofweek, my $month, my $date, my $timing, my $year, my $dpoint) = split(); my %host ( $inst, $count => { 'dayofweek' => $dayofweek, 'month' => $month, 'date' => $date, 'timing' => $timing, 'year' => $year, 'dpoint' => $dpoint } ); $count=$count+1; } } print Dumper(%host); close (FDAT);