in reply to General perl question. Multiple servers.
If you want reliable, then don't try to programm the network code yourself, use established methods.
So the syslog suggestion from shmem is the most simple, most economic solution you can find if your applications already use syslog for logging or can be persuaded to do so. Syslog takes care of the network transmission and all you have to do is to parse the local log (the code for that would easily fit in one line).
If that is not possible, a (perl-)script that uses ssh to poll all the servers is IMHO already a very reliable solution (use ssh parameter "-o ConnectTimeout=4", so that ssh doesn't wait so long for offline servers) and be sure to check for success of the ssh.