in reply to mod_perl and module versions

The problem is that each mod_perl process has a single perl interpreter embedded in it; any of those interpreters will have a single version of any given module in any given namespace which is required. Unless you flush what's loaded and re-require the module for each request (using something similar to Apache::StatINC, or whatever the mp2 analogue is) there's no guarantee that version n of Foo::Bar will be loaded instead of version m in the child httpd you get pointed at. Unless you work some kind of version number into your module filenames (and package declarations) you're either going to get the "wrong" version of something or you're going to be constantly clobbering and reloading (negating any benefits from the persistence of running under mod_perl).