in reply to Multiprocessing with IO::Select

Thanks very much, I have did a lot of socket programs, but I have never noticed, thanks for pointing out
From IO::Select man page
add ( HANDLES ) Add the list of handles to the "IO::Select" object. It is t +hese values that will be returned when an event occurs. "IO::Select" +keeps these values in a cache which is indexed by the "fileno" of the + handle, so if more than one handle with the same "fileno" is specifi +ed then only the last one is cached. Each handle can be an "IO::Handle" object, an integer or an + array reference where the first element is an "IO::Handle" or an int +eger.
Each handle can be an "IO::Handle" object, an integer or an array reference where the first element is an "IO::Handle" or an integer. is the key point I have noticed.
So far I have been using some extra hashes(where the keys would be fileno(handle)) to maintain the handle specific information, now it won't be required.

Vivek
-- In accordance with the prarabdha of each, the One whose function it is to ordain makes each to act. What will not happen will never happen, whatever effort one may put forth. And what will happen will not fail to happen, however much one may seek to prevent it. This is certain. The part of wisdom therefore is to stay quiet.