Hello everyone,
I am trying to use a IPC::Shareable tied hash to cache some data at the
start of apache from my startup.pl script.
this is my startup.pl
-------------
$ENV{GATEWAY_INTERFACE} =~ /^CGI-Perl/ or
die "GATEWAY_INTERFACE not Perl!";
use Apache::Registry;
use Apache::DBI;
use IPC::Shareable;
use GXV::Abonados;
use strict;
my %GLOBALDATA;
my %options = (
create => 1,
exclusive => 0,
mode => 0666,
destroy => 1,
);
tie %GLOBALDATA, 'IPC::Shareable', 'GLUE', { %options } ||
die "tie failed\n";
my $gxv = GXV::Abonados->new ||
die "not able to connect to GXV\n";
eval {
%GLOBALDATA = $gxv->paquetes_shared;
};
die "Global data is not accessible: $@" if ($@);
1;
--------------
The method GXV::Abonados::paquetes_shared() works, I have tried many
forms of recieving (and returning of course) the data (a flat scalar,
arrays, hashes).
If I asign to *GLOBALDATA a short string or number it works, I checked
IPC::Shareable::SHM_BUFSIZ(); and it's more than enough to hold the
return value of $gxv->paquetes_shared;
The worst of all is that Apache simply doesnt start, and I get no error
message at all.
Can someone please give me some insight?
TIA,
Best Regards,
Juan Jose Natera