我們如何在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