Hallo
Also, ich habe folgendes Problem in Zusammenhang mit der Schwartzsche Transformation.
Ich habe eine Liste (ein Array) der Form.
ID|Name|Zone|Datum|Genre|eingetragenVon
Das Datum ist in der Form TT.MM.JJJJ.
Nun will ich die Liste nach Datum sortieren. Ich habe dazu folgenden Ansatz versucht:
@array = map { $_->[0] }
sort { reverse($a->[1] =~ s/.//g) <=> reverse($b->[1]=~ s/.//g) }
map { [ $_, (split /|/)[3] ] } @array;
Die Überlegung ist die folgende:
Ich entferne die Punkte aus dem Datum (TTMMJJJJ) und kehre das Ganze um (JJJJMMTT). Dann kann ich die Liste einfach nach dem Zahlenwert sortieren mit <=>.
Zu meine Bedauern ist dann aber zB. der 20.05.2005 nach dem 29.12.2004 und dazwischen 27.12.2004 in der sortierten Liste.
Kann mir da jemand weiterhelfen?
Danke im voraus
Grüsse
Jonas