sort hash keys [解决]

sort hash keys [解决]

hi, all:

Code:

#!/usr/bin/perl -w
use strict;
my %h = (
          1 => "hello",
          4 => "friends",
          2 => "my",
          3 => "good"
          );
                                                                                
# sort{keys %h <=> keys%h};     ??
                                                                                
for (keys %h){
   
    print "$h{$_}\n";
  }

now the result is :
friends
hello
good
my

how can I  putout values according to the special order  like:

hello
my
good
friends

Thanks for any suggestion

for (sort(keys %h)){


QUOTE:
原帖由 suyogi 于 2007-11-21 19:51 发表
for (sort(keys %h)){

这是按字母排序, LZ要的应该是按数字排序吧
我想实现的就是让key 按照大小排序,进而输出的value按照key的排序

多谢两位


QUOTE:
原帖由 Lonki 于 2007-11-21 20:10 发表


这是按字母排序, LZ要的应该是按数字排序吧

呵呵,用keys就是按数字排吧
lz的数字是hash的key


QUOTE:
原帖由 perljoker 于 2007-11-22 10:48 发表

呵呵,用keys就是按数字排吧
lz的数字是hash的key

你误会我的意思了... :

sort keys ### 按字母顺序 1, 10, 2
sort {$a <=> $b} keys  ### 按数字顺序 1, 2, 10


QUOTE:
原帖由 Lonki 于 2007-11-22 11:06 发表



你误会我的意思了... :

sort keys ### 按字母顺序 1, 10, 2
sort {$a  $b} keys  ### 按数字顺序 1, 2, 10

恩……明白你的意思了
是有这个问题
Yes. It is the key to the point.

Thanks for your consideration.

my @KEY = keys%hhh;
my @queue=sort{$a <=> $b}@KEY;

                                                                                
for (@queue){
    print "$hhh{$_}\n";
}

It looks urgly but work.

Thanks for all and any reply is appriciated.