【发布时间】:2021-02-16 20:57:43
【问题描述】:
在这段代码中,我正在检查某个键是否存在。 在这里,我正在检查键“Uri”是否存在。我的输出为“3”。
use strict;
use warnings;
my %Names = (
Martha =>2,
Vivek =>9,
Jason =>6,
Socrates=>7,
Uri =>3,
Nitin =>1,
Plato =>0,
);
if (exists $Names{Uri} ) {
print "$Names{Uri}\n";
}
foreach my $name (sort {$Names{$a} cmp $Names{$b}} keys %Names)
{
print $name, $Names{$name}."\n";
}
输出
3
Plato 0
Nitin 1
Martha 2
Uri 3
Jason 6
Socrates 7
Vivek 9
但是,我希望之前的键值出现在该键之前。例如:
- 如果我搜索键“Uri”输出应该是“2”
- 如果我搜索键“Vivek”输出应该是“7”
- 如果我搜索键“Plato”输出应该是“0”
有人知道怎么做吗?
【问题讨论】:
-
你能定义“以前的值”吗?您的意思是哈希中的最大值小于您要查找的值吗? (在这种情况下,请参阅@toolic 的答案)或其他?