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 | [reply] |
Hello! Thanks for the advice. Unfortunately, I've already tried most of those ideas. Here's what I've found:
IO::Socket::INET - The problem here is that blocking(0) doesn't work on sockets in Windows. I'm trying a work-around that was posted here.
Win32::MemMap - This module has apparently fallen off the face of the earth. I can only find documentation for it, not the actual code. I would LOVE to use this module, if it still exists.
Named Pipes - ..are blocking in windows. See http://aspn.activestate.com/ASPN/Reference/Products/ActivePerl/site/lib/Win32/Pipe.html under "limitations".
| [reply] |
this steps were taken directly from the site i pointed you:
c:\> ppm
PPM interactive shell (...) - type 'help' for available commands.
PPM> set repository Jenda http://Jenda.Krynicky.cz/perl
PPM> set save
PPM> search
the installation works for me, except the module needs Win32::API to be installed. | [reply] |
What?!? Ok, I looked up Win32::IPC, but it hasn't helped me at all. It looks like it's generally loaded by Win32::Mutex, Win32::Semaphore, etc. I'm not sure how these modules will give me the functionality that I desire. Can you elaborate?
| [reply] |