本帖最后由 yilongyansha 于 2016-01-22 10:21 编辑
%hash = (
"1"=>"23",
"2"=>"61",
"3"=>"159",
"4"=>"178",
"5"=>"68",
"6"=>"43",
"7"=>"267",
"8"=>"59",
"9"=>"163",
"10"=>"10",
"11"=>"91"
)
对hash的键排序,如何找出哈希表中value大于100的最小的key和最大的key,如上面的hash中得到的first_key=3,last_key=9,
找first_key比较好找,我写的代码如下:- use strict;
- use warnings;
- my %hash = (
- "1"=>"23",
- "2"=>"61",
- "3"=>"159",
- "4"=>"178",
- "5"=>"68",
- "6"=>"43",
- "7"=>"267",
- "8"=>"59",
- "9"=>"163",
- "10"=>"10",
- "11"=>"91"
- );
- my ($first_key,$last_key);
- foreach my $key (sort keys %hash) {
- if ($hash{$key}>100) {
- $first_key = $key;
- last;
- }
- }
- print $first_key,"\n";
复制代码 |