in reply to Perl select function mystery

You may also want to look for documentation on the C / *NIX select(2) system call (such as your system's manual page), or a book like Stevens Advanced Programming in the UNIX Environment. Seeing the how the underlying system call is used from C may help clear things up (since it's pretty much the same in Perl, you just have to go through an extra step to get the file descriptor from a filehandle).

But seconding the IO::Select recommendation, or possibly consider something like POE that provides an event driven framework and hides some of this nasty lower level interaction from you.