我们如何在Perl中检索哈希散列值中的键值? 我试图使用按键功能。我想删除重复项,然后对它们进行排序,我可以使用uniq
和sort
函数做 。我错过了什么?Perl - 从散列哈希中检索值
#!/usr/bin/perl
use warnings;
use strict;
sub ids {
my ($data) = @_;
my @allID = keys %{$data};
my @unique = uniq @allID;
foreach (@unique) {
@allUniqueID = $_;
}
my @result = sort{$a<=>$b}(@allUniqueId);
return @result;
}
my $data = {
'first' => {
'second' => {
'third1' => [
{ id => 44, name => 'a', value => 'aa' },
{ id => 48, name => 'b', value => 'bb' },
{ id => 100, name => 'c', value => 'cc' }
],
id => 19
},
'third2' => [
{ id => 199, data => 'dd' },
{ id => 40, data => 'ee' },
{ id => 100, data => { name => 'f', value => 'ff' } }
],
id => 55
},
id => 1
};
# should print “1, 19, 40, 44, 48, 55, 100, 199”
print join(', ', ids($data)) . "\n";
我知道它不完整,但我不知道如何继续。任何帮助,将不胜感激。
UNIQ是一个内置的,我使用的功能。 – abc 2014-09-29 06:42:41
'uniq'在['List :: Util'](https://metacpan.org/module/List::Util) – Borodin 2014-09-29 08:57:35