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

I cannot duplicate your problem. When I run your code on my system (perl v5.20.2 on Windows 10), it terminates with no error messages and no output. It I use warnings, I get several copies of a warning about uninitialized value in $bpfh1. If I declare $forbpjoutput as a lexical variable and define it as a null string, I get no messages and no output even using strict and warnings. (This is exactly what I expect).
use strict; use warnings; my $forbpjoutput = q(); open my $bpfh1, '<', \$forbpjoutput or die $!; ... # Exactly as in your post.

As Cristoforo pointed out, you probably did not intend to input from a null file. I cannot guess what you really did intend to do.

Bill