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);
}