Hash sortieren
Beat Strasser
- perl
Hi there
Moechte einen Hash sortieren. Alle Werte sind numerisch, die Keys sind alfanumerisch. Es soll nach Werten sortiert sein (hoechster Wert zuerst), bei gleichen Werten, nach dem Key.
Ich habe folgendes probiert:
for(sort { $hash{$b} <=> $hash{$a} $a cmp $b } keys %items) {
print "$items{$_} $_\n";
}
Was ist da falsch?? Oder wie koennte ich das anders loesen?
Danke vielmals!
Gruss,
Beat
hye,
ich kann dir nur die eine auskunft geben.
eine %hash sortierst du mit
sort keys (%hashname);
wie mann die reihenfolgen ändert o.ä. kann ich dir nicht sagen. aber vielleicht hilft das ja schon :-)
cu
BOGUS
Hi Beat(e) ;-)
Moechte einen Hash sortieren. Alle Werte sind numerisch, die Keys sind alfanumerisch. Es soll nach Werten sortiert sein (hoechster Wert zuerst), bei gleichen Werten, nach dem Key.
Ich habe folgendes probiert:
for(sort { $hash{$b} <=> $hash{$a} $a cmp $b } keys %items) {
print "$items{$_} $_\n";
}Was ist da falsch?? Oder wie koennte ich das anders loesen?
Sieht ja eigentlich ganz gut aus. Jedoch hast Du da wohl die Hash Namen ein wenig
durchenander gebracht ... Im sort benutzt Du %hash, die Keys holst Du Dir von %items
und ausgegeben wird auch %items - also im sort doch einfach auch %items vergleichen ...
Jörk
Hi Beat(e) ;-)
k.k. <g>
for(sort { $hash{$b} <=> $hash{$a} $a cmp $b } keys %items) {
print "$items{$_} $_\n";
}
Was ist da falsch?? Oder wie koennte ich das anders loesen?Sieht ja eigentlich ganz gut aus. Jedoch hast Du da wohl die Hash Namen ein wenig
durchenander gebracht ... Im sort benutzt Du %hash, die Keys holst Du Dir von %items
und ausgegeben wird auch %items - also im sort doch einfach auch %items vergleichen ...
Hallo Jörk
Hey, das wars! Ich hab eben gemeint, $hash sei so ein Standard-Ausdruck wie $a und $b... naja. Jetzt geht alles prima!
Merci vielmals!
Gruss,
Beat
hi!
Moechte einen Hash sortieren. Alle Werte sind numerisch, die Keys sind alfanumerisch. Es
soll nach Werten sortiert sein (hoechster Wert zuerst), bei gleichen Werten, nach dem Key.
<../../sfausles/tsfa_tec.htm#a1>
bye, Frank!