use IPC::Open3 qw( open3 ); open(local our $TO_CHLD, '<', '/dev/null') or die; open(local our $FR_CHLD, '>', 'output.log') or die; my $pid = open3('<&TO_CHLD', '>&FR_CHLD', '>&FR_CHLD', 'script'); waitpid($pid, 0) or die;