while ( my $line = ) { if ( $line =~ /SNMP/ ) { if ( $line !~ /Insufficient/ && $line !~ /CLEARED/ ) { my @fields = split /[&\|\/]/, $line; $fields[17] =~ s/^\s+//; #REMOVE LEADING SPACES $fields[17] =~ s/\s+$//; #REMOVE TRAILING SPACES #print Dumper \@fields; my ( $node_ip, $ne, $message ) = @fields[ 4, 17, 13 ]; #ASSIGN FIELDS VARIABLES $total{$ne}++; if ( !$node_ip ) { #FILL IN EMPTY SPACES WITH SOMETHING $node_ip = "N/A"; $ne = "N/A"; $total{$ne} = 0; } my $max = max values %total; printf( "%-15s | %9s | %5s | %-55s | %9s | \n", $node_ip, $ne, $total{$ne}, $message, $max ) # if $total{$ne} == $max; } } } close(INPUT);