|Think about Loose Coupling|
Okay, you've got me there chromatic. I am definitely not any sort of an authority on what constitutes a "great" CPAN module ;)
But I do see this sort of thing a lot... most recently when I was fiddling with upgrading my config file loading with Config::General:
I'd like my modules to be able to do this in the most intelligent way possible! Which, as it turns out, requires intelligently considering how your module is being used and your own requirements. Curses, I hate intelligently considering things.
Anyway, as for going about it 'backwards', you're probably right. I take a learn-first, apply-later approach to things. Admittedly not that efficient (I could just use Moose and forget about all the small stuff involved in Perl OO). But I'd rather investigate what's really going on with the small pieces first and then jump up to using the feature-rich tools other people have built from them.
I'm here to enjoy myself tinkering with the ins and outs, the pieces and possibilities first and get work done (close) second. Don't tell my boss =P
But I think I come out ahead in the long run in terms of getting things done. We're getting to that old 'bottom-up' vs 'top-down' learning style argument, haha.
Strange things are afoot at the Circle-K.