in reply to Creating a server that accepts more than one client.
If you decide not to fork, you can use IO::Multiplex to handle the non-blocking stuff.