marcus: sortieren nach prioritaet

Beitrag lesen

hallo,

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?

danke fuer die hilfe!
marcus

@sorted = ();
@data = ();
foreach $line (@data_unsorted) {
        ($id,$headline,$date,$time,$location,$jhg,$email,$description) = split(/\|\/,$line);
        push(@sorted, {
                id => $id,
                headline => $headline,
                date => $date,
                time => $time,
                location => $location,
                jhg => $jhg,
                email => $email,
                description => $description
        });
}
for $sorted (sort { ($::a->{date}) cmp ($::b->{date}) } @sorted) {
        $line = "$$sorted{'id'}*|*$$sorted{'headline'}*|*$$sorted{'date'}*|*$$sorted{'time'}*|*$$sorted{'location'}*|*$$sorted{'jhg'}*|*$$sorted{'email'}*|*$$sorted{'description'}\n";
        push(@data,$line);
}