my( @found ) = grep { ( ref $fruit{ $_ } eq 'ARRAY' ? (grep { $_ eq $search } @{ $fruit{ $_ } } ) : $fruit{$_} eq $search ) } keys %fruit; #### my( @found ) = grep { grep $_ eq $search, @{ $fruit{ $_ } } } keys %fruit; #### my %fruits = ( apple => { red => 1, green => 1 }, kiwi => { green => 1 }, banana => { yellow => 1 } );
## my( @found ) = grep { grep $_ eq $search, @{ $fruit{ $_ } } } keys %fruit; ##
## my %fruits = ( apple => { red => 1, green => 1 }, kiwi => { green => 1 }, banana => { yellow => 1 } );