So your sending soap requests, *BUT*, your also recieving them, which means you will need a server, so maybe SOAP::Lite. Forking by nature is pretty cross platform; but, you might also want to check out Parallel::ForkManager.
I've been messing around with Parallel::ForkManager and DBI connections to a MySQL database. The database connections in the child processes were not thread-safe I suppose. Perl was crashing because of some nasty stuff going on with opening and closing the connection in the different child processes.
After talking over the design with my boss, we decided that soap with XML messages would be a better and more robust design.
Actually, I'm pretty impressed with soap. I haven't used it until now, but it's working out quite well.
Now I am using soap to make calls into the Web Server and the cgi script will make the appropriate database connections and then return an XML message.