#!/usr/bin/env perl -l use strict; use warnings; use autodie; use List::Util qw{first}; use Tie::File; my @strings = qw{rst uvw xyz}; my $re = '(?:' . join('|', @strings) . ')'; tie my @lines, 'Tie::File', 'pm_1155868_input.txt'; my $match = first { /$re/ } @lines; untie @lines; print "Match: '$match'"; #### $ cat pm_1155868_input.txt aaaaaaaaaaaaaa bbbbbbbbbbbbbb cccccccccccccc dddddddxyzdddd eeeeeeeuvweeee fffffffrstffff gggggggggggggg hhhhhhhhhhhhhh iiiiiiiiiiiiii #### Match: 'dddddddxyzdddd'