use strict; use warnings; use IPC::Open2 ; my $out = '' ; { local *STDOUT ; open(STDOUT, ">", \$out); process(); } print "\$out = \n", $out; sub process { my $pid = open2( *Reader, *Writer, "/bin/date" ); my @prog_out = ; close Writer; close Reader; print "output from date:\n",join("|", @prog_out), "\n"; } #### Thu Feb 28 08:08:13 CST 2008 $out = output from date: #### output from date: Thu Feb 28 08:09:54 CST 2008 $out =