use IPC::Open3 qw( open3 ); use Symbol qw( gensym ); my $pid = open3( my $to_chld = gensym(), my $fr_chld = gensym(), my $fr_chld_err = gensym(), 'command', 'with', 'args' ); close($to_chld); close($fr_chld); my @logmessages = <$fr_chld_err>; waitpid($pid, 0);