Philipp Hasenfratz: Zeilen in Perl miteinander vergleichen, WIE?zum zweiten

Beitrag lesen

Halihallo Sergej

Die Schleife ist gut, nur das die gleichen Zeilenpaare mehrmals(>10 mal) im FHout auftauchen.

Ja, ich habe einen klassischen Fehler begangen, sorry.

---

Also, du hast ein Array @Msg und möchtest die darin mehrmals vorkommenden Einträge
ausgeben? - Also alls Messages stehen in @Msg und du möchtest die doppelt oder mehrfach
vorkommenden ausgeben lassen. Richtig?

Dann ist dies wohl sinnvoller:

my %similar_count = ();
for ( my $i=0; $i < @Msg; $i++ ) {
   $similar_count{$Msg[$i]}++;   # jede gleiche Zeile erhöht den Wert um 1.
   if ($similar_count{$Msg[$i]} == 2) {  # wenns dreimal vorkommt, is schon ausgegeben.
      print FHout $Zeile[$i];
   }
}

Viele Grüsse

Philipp