# get @words and @data from somewhere my $pattern = join '|', @words; my @lines; for (@data) { push @lines, $_ if /$pattern/; } # do something with @lines