Thanks for the tip perigeeV I think I found my solution, albeit not as elegant as I had hoped.
I couldn't use the shared memory function because IPC::ShareLite won't compile on Win32 and is required. But Cache::Cache will still compile with it.
So my solution is to use Cache::FileCache. I've include two quick proof of concept scripts to demonstrate:
First run the 'writer':
# Program 1
use Cache::FileCache;
my $cache = new Cache::FileCache({ 'namespace' => 'SharedCache', 'defa
+ult_expires_in' => 600 } );
my $passed_data = "This is a passed string";
$cache->set( "Data", $passed_data, "10 minutes" );
Then run the 'reader':
#Program 2
use Cache::FileCache;
my $cache = new Cache::FileCache( { 'namespace' => 'SharedCache', 'def
+ault_expires_in' => 600 } );
my $passed_data = $cache->get("Data");
print "$passed_data\n";
Looks like a winner, and only after about 18hrs of banging my head against the pile of soda cans on my desk!
-Nitrox |