in reply to Single non-server script maintaining multiple client connections

For a good thorough treatment of socket and multiplexed IO programming, I'd recommend Lincoln Stein's book Network Programming with Perl.

The "as conditions require" part of your problem is implemented by the select function call. The difficulty with select-based approaches is that all of you logic is "turned inside-out". Modules like POE or even using threads make it easier to write your application logic at a small performance penalty (and learning curve to learn how to use POE.) On the other hand, it is helpful to learn how to multiplex I/O using select so that you have a better understanding of what is really going on when using something like POE.