Halihallo
ich moechte im u.g. code ein array nach "date" sortieren, was auch klappt. nun moechte ich die sortierung noch nach "time" erweitern, soll heissen: erst nach date sortieren und gleichzeitig auch nach "time" wenn mehrere "date" eintraege gleich sind?
wie kann man das denn am geschickesten machen?
Ich würde die Date und Time Angaben in eine packen: UNIX-Timestamp. Dann kannst du nummerisch sortieren (ist IMO sogar viel schneller, als Stringoperationen) und du hast gleich nach Datum _UND_ Zeit sortiert.
im Detail:
Wie ist date und time bei dir aufgebaut?
date: "yyyy-mm-dd" und time: "hh:mm:ss"?
=>
my ($y, $mo, $d) = split( /-/, $date );
my ($h, $mi, $s) = split( /:/, $time );
$mo--; $y-=1900;
use Time::Local qw(timelocal);
my $timestamp = timelocal($s, $mi, $h, $d, $mo, $y);
push ..., { ..., Timestamp=>$timestamp, ...}
nacher sort {$::a->{timestamp} <=> $::b->{timestamp}}
Viele Grüsse
Philipp
PS: Oder hab ich was falsch verstanden?