IO::Multiplex is designed to take the effort out of managing
multiple file handles. It is essentially a really fancy front end to
the C<select> system call. In addition to maintaining the C<select>
loop, it buffers all input and output to/from the file handles. It
can also accept incoming connections on one or more listen sockets.