sub main { my $input_qfn = "input.file"; my $pattern_qfn = "pattern.file"; my %patterns; { open(my $pattern_fh, '<', $pattern_qfn) or die("Can't open pattern file \"$pattern_qfn\": $!\n"); while (<$pattern_fh>) { chomp; ++$patterns{$_}; } } open(my $input_fh, '<', $input_qfn) or die("Can't open input file \"$input_qfn\": $!\n"); while (<$input_fh>) { chomp; my ($userName, $emailAddress, $division, $fullName) = split /\|/; if ($patterns{$emailAddress}) { print "$emailAddress exists in the pattern file\n"; } else { print "$emailAddress doesn't exist in the pattern file\n"; } } }