generally you can pass data between two processes with socket communication (IO::Socket::INET).
the shared memory approach is somewhat elegant; have a look
here - it is called Win32::MemMap, not ShMem, as anyone (or at least i) would suggest. Tie-Win32MemMap sounds
very good.
you further can use
named pipes for your purpose. the package is called Win32::Pipe.
i could also imagine that you run the different programms as threads and let them share the needed information - as long as there is only one writing to that data and the others just reading. again: i haven't done that before.
HTH