Hallo
Ich weiss, es hatte schon viele Topics zu dem Thema - aber mein Problem wurde bisher noch nicht gepostet.
Zum Beschreib, was ich habe und wil:
Ich habe ein txt file, welches folgendermasen strukturiert ist:
Jede Zeile besteht aus diesen Elementen:
id|name|datum|dir|wertung
(id geht von 1-x, also natürliche, aufsteigende Zahlen)
Nun lese ich die Datei in einen Array @file ein. (den Code dazu poste ich mal nicht, sollte klar sein.)
Das Problem ist nun, dass ich bei der übergabe der id (sagen wir mal der Wert liegt in der variable $id) das Element mit der entsprechenden id finden will.
Ich habe das bisher so gelöst:
foreach(@file) {
@tmp = split(/|/,$_);
if ($tmp[0] eq $id) {@found = @tmp;}
}
dann hatte ich jeweils die ensprechende Linie von dem File in @found.
Nun würde mich aber interessieren, ob es nicht eine bessere Lösung dafür gibt. (Besonders werden ja alle Elemente abgearbeitet, auch wenn die entsprechende id gefunden wurde.)
Zusätzlich möchte ich diesen Array @file sowohl nach absteigender id als auch nach dem namen sortieren können. Mit sort(@file) wird das ganze aber logischwerweise nur nach der id sortiert.
Ich würde mich über Tipps und Anregungen freuen.
Schöne Grüsse
Jonas