One critical consideration is that there is no way for a hacker to see your .pm, your sql files and any other files that they have no right to see. .pm and SQL files would be especially useful to a hacker as they would pretty much hand him the keys. Clearly you are keeping them out of the document root directory which is good. Apache has all sorts of ways mapping odd directories into user visible web space. Are you confident that you have none of these mapped so that your .pm and SQL files can be exposed? Also can you use the UNIX file permissions to add further protection. This depends a lot on to what extent this is a shared server. If it is a shared server can you protect yourself further by using suExec?
Edit I have reread your post again. You are planning to publish your .pm files to CPAN. I assume by this you mean the reusable components. With regard to those files I don't really see the issue. Files generic enough to be published to CPAN can go whereever perl modules normally go.
Edit 2 The more I think about the more confused I am about this. What are your priorities?
- Security? Something you definitely need to think about.
- Maintainability. I think this was your question. Actually you seemed to be referring to the specifics of your situation which you should probably not give us to much detail on.
- Publishing reusuable components to open source. If you have some I don't see what the question is. If you don't, don't mention CPAN.
- Regression testing. Can I recommend Test::Regression. Just a module I stumbled across somewhere. ;-)