if ( $pid == 0 ) { close $input_to_child; close $output_from_child; if ( fileno $child_stdout != POSIX::STDOUT_FILENO ) { POSIX::dup2( fileno $child_stdout, POSIX::STDOUT_FILENO ); close $child_stdout; } if ( fileno $child_stdin != POSIX::STDIN_FILENO ) { POSIX::dup2( fileno $child_stdin, POSIX::STDIN_FILENO ); close $child_stdin; } exec {'perl'} 'perl', 'client.pl'; }