Thread Zeilen einlesen und nach dritter Spalte sortieren
(48 answers)
Opened by leo11 at 2008-08-14 08:06
@Hagen:
Danke für dieses Bsp. es hat mir sehr weitergeholfen. Dieses return -1 if $$a[2]<$$b[2]; ist mir noch unklar. Bedeutet das: Vergleiche das Element der dritten Spalte der Zeile x mit dem Element der dritten Spalte der Zeile Y und gib -1 zurück wenn es kleiner ist? Und dann noch der Aufruf: Code (perl): (dl
)
print join(';', @{$_}), "\n" for sort vergl @zeilen; Bedeutet das: Füge alle Felder eines Arrays semikolonsepariert zu einem String zusammen und gib die nach der Vergleichsfunktion sortierten Zeilen aus? Bedeutet dass es werden hier erst die Zeilen sortiert und dann zusammengefügt? Also von rechts nach links? @LanX-: Dir auch vielen Dank. Vielleicht komme ich heut Abend dazu Deinen Lösungsvorschlag mal zu probieren. Spätestens am WE werd ichs mal versuchen. @Gast Danke. Es hilft sehr einfach mal eine fertige Lösung zu sehen. Das Code (perl): (dl
)
print join(';', @{$_}), "\n" for @zeilen; #sortiert wieder ausgeben habe ich selbst hinbekommen, was mich freut. Bedeutet die Zeile: Code (perl): (dl
)
@zeilen=sort{$a->[2] <=> $b->[2]}@zeilen Das eine Zeile nach oben verschoben wird, wenn das Element in der dritten Spalte kleiner ist? |