in reply to How best to optimize shared data
Have your script read all the configuration data into a perl data structure and then fork() into seperate processes. This way you let your OS deal with it. I dont know anything about HP-UX, but in Linux those memory pages containing your read-only data will remain shared across all processes until one changes, then it will get a private copy of the memory page that it changed. If you're clever, you can have the child process monitor its memory usage, kill itself and have the parent fork() another when too much memory is no longer shared.
I have done this with Apache and mod_perl. Simply populate some globals through the apache config file.
In Section
Seekers of Perl Wisdom