in reply to open2 question seeking answers

As has been said before: check to what filehandle logs are written to. Probably some stuff is written to STDERR which is not catched by open2. Best thing might be to use open3 instead.
And here comes my warning:
open 2 and open3 have different order of the filehandles.
my $pid = open3(\*WTRFH, \*RDRFH, \*ERRFH, $command, @args) or die"Error executing <$command>, Couldn't fork: <$!>."; ## vs. my $pid = open2(\*RDRFH, \*WTRFH, $command, @args) or die"Error executing <$command>, Couldn't fork: <$!>.";
Share and enjoy!

pelagic