while($fileLineZF = ) { if(($fileLineZF =~ /^F\s+.*FktTyp=CopTel\s+DBus=(\S+)\s+DTel=$DestID\s+Snd=Y\s*$/)) #check CopTel-Messages { print $fileLineZF; $zfCounterFound++; $DBusZF = $1; #$zfCounterFound = 0; if($DBusZF eq "D_CAN") #D-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_DCAN_CAN1 += 50; } elsif($DBusZF eq "Body-CAN") #Body-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_BodyCAN_CAN2 += 50; } elsif($DBusZF eq "Body2-CAN") #Body2-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_Body2CAN_CAN3 += 50; } elsif($DBusZF eq "FA-CAN") #FA-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_FACAN_CAN4 += 50; } elsif($DBusZF eq "IuK-CAN") #IUK-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_IUKCAN_CAN5 += 50; } elsif($DBusZF eq "ZSG-CAN") #ZSG-CAN { #print "TEST: $DBusZF\n"; $numOfMessages_ZSGCAN_CAN6 += 50; } } elsif($fileLineZF =~ /^F\s+.*FktTyp=CopSig\s+DBus=(\S+)\s+DTel=(\d+)\s+Snd=Y\s*$/) #Check CopSig-Messages { #Konzept: #Zeilen-Pointer übernehmen und so lange weiterzählen lassen, bis wir auf eine #neue Zeile stoßen, oder das DTel nicht mehr mit den vorhergegangen DTels übereinstimmt. #Wenn neue Zeile kommt und alle DTels bis dahin gleich waren, dann die Nachricht zählen; #ansonsten abbrechen $predDTel = $2; next; while($fileLineZF = ) { $fileLineZF =~ /^F\s+.*FktTyp=CopSig\s+DBus=(\S+)\s+DTel=(\d+)\s+Snd=Y\s*$/ $currDTel = $2 if(predDtel eq currDTel) } } }