in reply to Re^3: removing the need for tmp files from script
in thread removing the need for tmp files from script

this works great. However, I have one issue in that the file has 2 lines in it and only the first line gets printed.
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; }
So what I get is LISTING-INVENTORY-CATALOG LISTING-PURCHASING-CATALOG The variable (memory file) $forx does contain data, and it prints out just fine. But only the first line. I have tried different things to make the second line print, such as closing the file earlier, but it doesn't work. I've had this problem before but can't remember how I got it resolved. Any ideas?