ich hab folgenes File:
NR 1;Zeitstempel A;Type A, Groesse 1
NR 2;Zeitstempel B;Type B, Groesse 2
NR 3;Zeitstempel B;Type C, Groesse 3
NR 1;Zeitstempel C;Type A, Groesse 1
NR 2;Zeitstempel A;Type A, Groesse 2
NR 3;Zeitstempel X;Type A, Groesse 3
NR 1;Zeitstempel B;Type A, Groesse 4
NR 2;Zeitstempel A;Type B, Groesse 1
...Nun muss ich es irgendwie hinbekommen, das ich doppelte Einträge rausfiltere.
Und zwar wenn NR und Type identisch sind, dann muss die Grösse verglichen werden und es soll dann die "doppelte" Zeile mit der kleineren Grösse rausfliegen.
Ich hoffe das ist soweit verständlich?!
Erzeuge aus den Daten einen Hash
Denn Hashkeys sind einmalig in Perl
erzeuge leeren hash
iteriere über den Array
extrahiere die Tokens und speichere sie in einem Buffer
nimm die Conkatenation von NR und TYP als Key
prüfe ob der Key schon existiert.
-- wenn nein
speichere als neues Hashelement
dessen Inhalt ein 2 Element Array ist:
mit der Grösse und mit dem originalen String.
-- wenn ja
vergleiche die Grösse im Buffer mit der Grösse
die im hashelement gespeichert ist
Am Schluss konvertiere den hash wieder in einen Array.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o