in reply to mod_perl / mason - variable shared between apache2's children

All you want to do is fill a hash and then read from it in child processes? Just use a global. Fill it in your httpd.conf in a <Perl> section or in your startup.pl file.

%My::Conf::Hash = ( foo => 1 );

You can read that from any apache child process, but you can't modify it after startup. If you want shared read/write data, it becomes a trickier question.