use warnings; use strict; use IPC::Open3; use feature qw(say); my ( $wtr, $rdr, $err ); my $pid = open3( $wtr, $rdr, $err, 'perl', 'dummy.pl' ); while (<$rdr>) { print $_; } while (<$err>) { print $_; } close($err); close($rdr); close($wtr); waitpid( $pid, 0 );