Give
Net::Shared a look. It was designed to simulate shared memory across a large amount of forked processes by creating a central location to store data, accessable by all children processes. It was actually originally designed for Win32, although it now works on any platform. One warning, though: it still is considered beta quality, meaning that the interface is a bit clunky; however, there are a bunch of examples included in the distribution and the tech support is as simple as contacting the author.