#! /usr/bin/perl use IPC::Open3; use IO::Handle; my $writer = IO::Handle->new(); my $reader = IO::Handle->new(); eval { my $cpid = open3( $writer, $reader, $reader, "perl" ); }; die if $@; print $writer <<'PROG'; print STDOUT "Hello to STDOUT\n"; print STDERR "Hello to STDERR\n"; PROG close($writer); print <$reader> if @ARGV;