Nik*_*ain 3 arrays perl hash reference perl-data-structures
我有一个哈希数组,每个哈希包含相同的键,但值是唯一的.在特定值的基础上,我需要存储散列引用.
请参阅以下示例以正确理解它:
my @aoaoh = (
{ a => 1, b => 2 },
{ a => 3, b => 4 },
{ a => 101, b => 102 },
{ a => 103, b => 104 },
);
Run Code Online (Sandbox Code Playgroud)
现在我将检查哈希键是否a包含值101.如果是,那么我需要存储整个散列引用.
怎么做?
Eug*_*ash 14
my $key = "a";
my ($ref) = grep { $_->{$key} == 101 } @aoaoh;
Run Code Online (Sandbox Code Playgroud)
或使用List::Util's first():
use List::Util 'first';
my $ref = first { $_->{$key} == 101 } @aoaoh;
Run Code Online (Sandbox Code Playgroud)