Switch the $a and $b and now you go to descending sequence: foreach my $MyId (sort {$b->[1] <=>$a->[1]} map{[$_,$usernum{$_}]} keys %usernum) {
Wags ;) -----Original Message----- From: dan [mailto:[EMAIL PROTECTED]] Sent: Monday, July 22, 2002 17:55 To: [EMAIL PROTECTED] Subject: Re: sorting %hash entries ok.. that worked, now how about if i wanted it to go the other way.. from most to least? dan "David Wagner" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Here is one shot: > > > %usernum = ( "server.one.com", "15", > "server.two.com", "5", > "server.three.com", "14", > "server.four.com", "9" ); > > foreach my $MyId (sort {$a->[1] <=>$b->[1]} map{[$_,$usernum{$_}]} keys > %usernum) { > printf "%-s\n", $MyId->[0]; > } > > Output: > server.two.com > server.four.com > server.three.com > server.one.com > > > Wags ;) > -----Original Message----- > From: dan [mailto:[EMAIL PROTECTED]] > Sent: Monday, July 22, 2002 14:45 > To: [EMAIL PROTECTED] > Subject: sorting %hash entries > > > I have a small query regarding how to sort hash entries in numerical order. > > %usernum { "server.one.com" "15", > "server.two.com" "5", > "server.three.com" "14", > "server.four.com" "9" } > > How can i get perl to return these 4 server names in the correct order, > server.two.com > server.four.com > server.three.com > server.one.com > > Help much appreciated > > Dan > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]