Doppelte Elemente aus Array entfernen - Und die Reihenfolge beibehalten
Aufgrund einer Leseranfrage, wie man denn doppelte Elemente eines Arrays entfernen kann, die Reihenfolge aber beibehalten werden soll, hier mein kleiner Lösungsvorschlag.
Mit Hash-Slices und so hat dies nichts zu tun, vielmehr wird grep verwendet.
Das Array @a wird also durch das grep geschleust. Dabei wird einem Hash $hash ein Element hinzugefügt, nämlich den Wert des aktuellen Wertes aus @a. Dieser Hash-Wert wird um 1 erhöht, und wenn dieser Wert KLEINER 2 ist, wird der aktuelle Wert aus @a dem neuen Array @new hinzugefügt.
Tritt ein doppelter Wert auf, so war der Hash-Wert schon 1, wird also zu 2 und wird von dem grep nicht in das neue Array eingefügt.
Eine schnellere Methode fällt mir im Moment nicht ein, vielleicht weiß ein Leser eine effizientere Methode?