use strict; use warnings; my @ta = (q{a x}, q{b y}, q{c z}); my $key = q{b}; print qq{key = $key, value is @{ [ map { $_->[1] } grep { $_->[0] eq $key } map { [ split ] } @ta ] }\n};