in reply to reaping defunct children

Note that signal handlers in Perl are notoriously unreliable. I strongly recommend that you don't use them and instead just call waitpid regularly.

On a more positive note, for a network server you may find the POE module very useful for simplifying your life.