in reply to howto map/grep a complex structure

I'm not sure a tutorial is needed. Some common sense guidelines and an example may help:

Umm, actually that's about all you need for guidelines. Don't make whatever code you come up with too complicated to grok. That generally means avoid multiple grep and map usages in one statement. So your example could become:

for $hk (keys %$hash) { print "$hk\n" for grep {$_ eq $search} @{$hash->{$hk}->{member}}; }

for some gain. But trying to roll the whole lot into one statement would be counterproductive.

Premature optimization is the root of all job security