in reply to Re: forked kid can't read from IO::Select->can_read
in thread forked kid can't read from IO::Select->can_read
If you open a pipe on the command -, i.e., either │- or -│ with 2-arguments (or 1-argument) form of open(), then there is an implicit fork done, and the return value of open is the pid of the child within the parent process, and 0 within the child process. (Use "defined($pid)" to determine whether the open was successful.) The filehandle behaves normally for the parent, but i/o to that filehandle is piped from/to the STDOUT/STDIN of the child process. In the child process the filehandle isnt opened--i/o happens from/to the new STDOUT or STDIN.
- Comment on Re^2: forked kid can't read from IO::Select->can_read