#!/usr/bin/perl -w use strict; my $patterns = "/path/to/patterns.txt"; my $arg1 = shift; open (PAT, '<', $patterns) or die "$patterns: $!\n"; my @patterns = ;. close(PAT); chomp @patterns; my $regex_string = join '|', @patterns; open( FILE, "<", "$arg1") or die "$arg1: $!\n"; $_ = do { local $/; }; close(FILE); if ( /($regex_string)/is ) {print "\n$arg1\n$1\n";} #### part1.*part2 Foo bar Other pattern #### hghghgghghh part1 fff part2 jhhjhjkjk Foo bar kkjkjkj Other pattern #### /path/to/file part1 fff part2