|Think about Loose Coupling|
While I have tended to agree with many things you've said, and I especially like your stick-to-it attitude, I'm going to take issue with one thing in your reply.
Yes, there's so many people using CGI::Application that I hadn't even heard of it until a couple of months ago.
There are literally hundreds of Perl modules that I've never heard of that have thousands of users, and I've been writing Perl for a living since 1995. For example, I learned how to use File::Spec 6 months ago. Same with File::Basename. In fact, I'd never heard of them (save as a quick mention in the Camel book) ... till I needed them. I had never needed to do file-level operations before (or since), so I never looked.
To bring the point closer to home, I develop large-scale web applications for a living. I've been doing this for at least 2 years now. Two weeks ago was the first time I'd taken a close look at CGI::Application. Why? I could never have implemented it if I'd wanted to. The current app I'm on is the first time since 1995 that I'm implementing a new application from scratch. C::A is an infrastructure decision you can't make 4 years into a project.
A lot of people are in a similar situation. You want to try this C::A thing, but you can't because the app you're working on already has an infrastructure. This doesn't mean you don't want to try it. This doesn't mean you don't think it's a good idea. I've been itching to try this module for about a year now, but never looked at it closely, because I couldn't play with it at work.
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.