The right way to use IPC::Open3 in Perl
as it say in the IPC::Open3 documentation, the filehandle for STDERR cannot be autovivified. You need to 

use Symbol qw/ gensym /; my $stderr = gensym;


to create a file handle before opening your command.