lempolis: Array ab 4. gleichem String loeschen

Hallo,
ich habe ein Array in zuvor unbekannter Länge (ein Text, die Zeilen sind die Array-Einträge...).
Nun zähle ich das Array in einer for-Schleife durch und schreibe den Inhalt in eine Datei, wobei ich an best. Stellen Zeilen lösche oder hinzufüge. Das klappt alles.

Problem:
im Array gibt es Einträge die identisch sind (hier: ein String). Ich möchte nun die Array-Einträge löschen ab dem Eintrag an dem dieser String zum VIERTEN mal gefunden wurde.
Ich befinde mich noch in der for-Schleife.... kann also nach
if ($arrayeintrag =~ /String/)
suchen lassen. Und dann?? Wie zähle ich hoch auf den vierten Treffer und wie breche ab dann die Schleife ab??

Für Hilfe dankbar,
lempolis.

  1. Hi,

    im Array gibt es Einträge die identisch sind (hier: ein String). Ich möchte nun die Array-Einträge löschen ab dem Eintrag an dem dieser String zum VIERTEN mal gefunden wurde.

    my %eintragszaehler;
    foreach (@array) {
      if (++$eintragszaehler{$_} < 4) { &trage_ein($_); }
    }

    Da Du das Array komplett im Speicher hälst gehe ich natürlich davon aus, daß es kein Problem ist, auch noch ein entsprechendes Hash zu produzieren :-)

    Cheatah