|
|
| Just another Perl shrine | |
| PerlMonks |
Re: launching another program but using the existing socketby repson (Chaplain) |
| on Jul 22, 2001 at 06:26 UTC ( #98752=note: print w/ replies, xml ) | Need Help?? |
|
When you exec another process it has access to any open file-handles within your program whose system file desriptor is within the value of $^F. The system uses file numbers 0=STDIN, 1=STDOUT, 2=STDERR and anything else is higher. To open using just the fileno, first discover the socket's using fileno($socket) or $socket->fileno and pass that to the execed program on command line or with environment variables. Then use the open syntax open FOO, ">& $fileno"; or whatever it is in the open documentation, or use $fh = File::Handle->new_from_fd and $fh->fdopen with the fileno. Alternativly follow nardo's advice because those filehandles are always inherited by an exec'ed process and that will make the client program compatible with inetd.
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||