in reply to Re^2: IPC::Open3 misbehaving when STDOUT is not FD #1
in thread IPC::Open3 misbehaving when STDOUT is not FD #1

$^X isn't properly converted to a shell literal. (i.e. Won't work if there's a space in $^X.) Fix:
open3( undef, local *PIPE, undef, $^X, q!-le print 111;print STDERR 222!, );