in reply to Notifier - Server
If you are maintaining the connection with the client and if you are using a Forking server or a pre-forking server (such as Net::Server::Fork or Net::Server::PreFork), you can work out a little bit of a multiplex solution.
In this scenario, the parent server process maintains the child server processes which in turn handle a connection to a client process. If they stay connected, the parent can occasionally timeout and start another process to get the new information (using the dequeue method of Net::Server) and then communicate the new information to the child server processes via a pipe.
The child server processes would need to select on the client socket and on the pipe from the parent (IO::Select makes this easy). This is the multiplex part. The child process can then get updates from the parent which it sends on down to the client process.
This is not necessarily a trivial task, but if you use Net::Server, it may (or may not) make life easier.
On an additional note, if you are not maintaining connection to the client processes, the suggestions listed above have little validity for you.
my @a=qw(random brilliant braindead); print $a[rand(@a)];