I generally organize based on the "Who cares?" principle. Stuff should located with whoever cares. So, if it's stuff that everyone in the company needs, I put it in the Company:: namespace. If it's something a given application cares about, I put it in the App04:: namespace. Under those, I generally have things like ::Database (for DB stuff), ::Application (for CGI::App-derived stuff), and whatever else I need.
All of that is in one path not in the standard @INC that gets use-lib'ed from startup.pl. (Yes, I'm a mod_perl nut.)
- In general, if you think something isn't in Perl, try it out, because it usually is. :-)
- "What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?"