#!/usr/bin/env perl use warnings; use strict; use List::BinarySearch qw( binsearch ); my %hoa = ( x => [qw(a b c d)], y => [qw(e f g)], z => [qw(h i c j)], ); my $x = q(c); for my $k ( keys %hoa ) { my @tmp = sort { $a cmp $b } @{ $hoa{$k} }; my $idx = binsearch { $a cmp $b } $x, @tmp; if ( defined $idx ) { print qq($k => $tmp[$idx]\n); } } __END__ x => c z => c