my $pattern = join '|', @words; my $forx; open my $bpfh1, '>', \$forx or die $!; for (@bpj) { print $bpfh1 "$_\n", $_ if /$pattern/; } open my $bpfh1, '<', \$forx or die $!; while (<$bpfh1>) { my @fields = split(',', $_); my $fields; local $" = ','; if ($fields[2] eq '1' ||$fields[2] eq '0') { print "THESE ARE THE>>$fields[4]\n" if /MONTHLY/ && !/,-,/; } close $bpfh1; } close $bpfh1; }