#!/usr/bin/perl my $command = "./program_to_run.pl"; my $fifo = "tmp.fifo"; system "mkfifo $fifo; $command >$fifo 2>&1 &"; open my $fh, "<", $fifo or die "Couldn't open fifo '$fifo': $!"; while (<$fh>) { print ": $_"; } close $fh; unlink $fifo; #### #!/usr/bin/perl my $pid = fork(); if ($pid) { exit; } else { $| = 1; for (1..3) { print "foo"; print STDERR "bar\n"; sleep 1; } print "done.\n"; } #### : foobar : foobar : foobar : done.