Thread Zeilen einlesen und nach dritter Spalte sortieren (48 answers)
Opened by leo11 at 2008-08-14 08:06

leo11
 2008-08-15 07:38
#113522 #113522
User since
2008-08-14
250 Artikel
BenutzerIn
[default_avatar]
@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?

View full thread Zeilen einlesen und nach dritter Spalte sortieren