// HEADER TAG // VERSION TAG TYPE VALUE1 EQUALS MAIN I am useless text CAUSE FAIL AFFECT ERROR ENDTYPE TYPE VALUE2 EQUALS MAIN I am useful test ENDTYPE TYPE VALUE3 EQUALS MAIN CAUSE DEGRADED ENDTYPE TYPE VALUE4 EQUALS MAIN AFFECT WARNING ENDTYPE #### (TYPE):(CAUSE),(EFFECT) VALUE1:FAIL,ERROR VALUE2:UNDEF,UNDEF VALUE3:DEGRADED,UNDEF VALUE4:UNDEF,WARNING #### my %results; open(FH,"<$weblog") || die ("cannot open file"); while (){ next if ($_ =~ /^\//); next if (/^(\s)*$/); if (/^TYPE\s(\S+)\s\S+\s\S+/){ $key = $1;} if (/^CAUSE\s(\S+)/){ $cause = $1);} else{ $cause = "UNDEF";} if (/^AFFECT\s(\S+)/){ $affect = $1;} else{ $affect = "UNDEF";} $results{$key}= join "," => $cause => $affect; } for (sort keys %results) { print "$_:$results{$key}\n";} close (FH);