# get @words and @data from somewhere my $pattern = join '|', @words; my @lines; for (@data) { push @lines, $_ if /$pattern/; } # do something with @lines #### for (@lines) { my @fields = split /,/; if ( $fields[2] eq '1' || $fields[2] eq '0' ) { print "THESE ARE THE>>$fields[4]\n" if /MONTHLY/ && !/,-,/; } } #### my $pattern = join '|', @words; for (@data) { next unless /$pattern/; my @fields = split /,/; if ( $fields[2] eq '1' || $fields[2] eq '0' ) { print "THESE ARE THE>>$fields[4]\n" if /MONTHLY/ && !/,-,/; } }