use strict; use warnings; my $file1 = \<<"END1"; he is man don't you what goes on END1 my $file2 = \<<"END2"; he is what are try to do END2 open my $h2, '<', $file2 or die "cannot open file2"; my @a2 = <$h2>; close $h2; chomp @a2; my $match = join '|', @a2; $match = qr/$match/; open my $h1, '<', $file1 or die "cannot open file1"; my @a1 = <$h1>; close $h1; print grep {$_ =~ $match} @a1; #### he is man