my %pairs = (); foreach my $tag_sequence (@sequences) { push(@{$pairs}{$tag_sequence}, $sentence); } #### while (my $rule = chomp() { my $sentences = $pairs{$rule}; # Do what you want with the data returned }