print $_->[0] for grep {
@{$_->[1]}
}
map {
[ $_, [ grep { $_ eq $search } @{$hash->{$_}{member}} ] ]
} keys %$hash;
####
print $_->[0] for grep {
$_->[1]
}
map {
[ $_, scalar grep { $_ eq $search } @{$hash->{$_}{member}} ]
} keys %$hash;
####
#!/usr/bin/env perl -l
use strict;
use warnings;
my $hash = {
A => {
member => [qw{q w e}],
},
B => {
member => [qw{a s d}],
},
C => {
member => [qw{q a z}],
},
};
my $search = 'q';
print 'OP Solution:';
for my $hk (keys %$hash) {
for my $m (@{$hash->{$hk}{member}}) {
if ($m eq $search) {
print $hk;
}
}
}
print 'map/grep Solution 1';
print $_->[0] for grep {
@{$_->[1]}
}
map {
[ $_, [ grep { $_ eq $search } @{$hash->{$_}{member}} ] ]
} keys %$hash;
print 'map/grep Solution 2';
print $_->[0] for grep {
$_->[1]
}
map {
[ $_, scalar grep { $_ eq $search } @{$hash->{$_}{member}} ]
} keys %$hash;
####
OP Solution:
A
C
map/grep Solution 1
A
C
map/grep Solution 2
A
C