hm....
aber man muss "cmp" statt "<=>" nehmen, sonst gibt es falsche Ergebnisse!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$eins->{DATE}="2005-01-01";
$zwei->{DATE}="2005-01-02";
$drei->{DATE}="2004-12-20";
$eins->{ID}=1;
$zwei->{ID}=2;
$drei->{ID}=5;
@liste=($eins,$zwei,$drei);
my @sort_liste = sort { $b->{DATE} <=> $a->{DATE} } @liste;
for ( @sort_liste ) { print "datum: ",$_->{DATE}, "\n";
print " id: ",$_->{DATE},"\n";}
datum: 2005-01-01
id: 1
datum: 2005-01-02
id: 2
datum: 2004-12-20
id: 5
das gleiche aber mit "cmp" ergibt
datum: 2005-01-02
id: 2
datum: 2005-01-01
id: 1
datum: 2004-12-20
id: 5
Beim zweiten mal ist also richtig absteigend sortiert nach Datum. But why?