#!/usr/bin/perl use strict; use warnings; open(my $fh1,"$ARGV[0]") or die "Unable to open file1:$!"; my @array1=<$fh1>; close($fh1); chomp @array1; my %hash; @hash{@array1} = undef; my $pattern = join ('|', @array1); open(my $fh2,"$ARGV[1]") or die "Unable to open file2:$!";; for my $line (<$fh2>) { chomp $line; if ($line =~ /($pattern)/) { } } close($fh2);