Ooops, I chose my words poorly and created rather more contraversy than I meant to. Please read this instead: http://use.perl.org/comments.pl?sid=42086&cid=66942. This is here for historic whatever.
Moved this over from the Squatting mailing list so as not to spam it.
I feel about Moose about the same way people used to feel about Damian Conway's old Switch.pm module, except that Moose is also bloatware.... that is, it's a great prototype for how syntax could or should look and how things could or should work, and it's okay to use it internally for projects, but it's very bad form to release code to the outside world that depends on it. Source filters cause a lot of problems... so does Moose and all of its deps. Like previous, recent posts here, stack traces turn into nightmarish explosions a hundred lines long. It's a leaky abstraction (see Joel on Software's essay on leaky abstractions) where if you don't know how it works under the hood, you'll get bit in the ass, or at least have to cargo cult code, only using it ways and doing things with it that you've seen other people do and get away with. Like Switch.pm, it just boils down to the abstraction being too leaky. And that's why it shouldn't be inflicted on strangers as a dep, why it shouldn't be standard fare for code, and why it should be considered a prototype for ideas to later be possibily implemented in core.
The power of Perl is gluing things together. A lot of fun comes from picking two modules and just using them together. But Moose, like POE, has created a "shadow CPAN", of modules that require it and only work with it. Besides demonstrating how leaky the abstraction is, this segments camps that should be unified. It also generates spam and busy work, keeping busy rewriting modules like BoneEasy to be Moose plugins.
I'm all for syntax sugar, but if it takes 20,000 lines of code to get your fix, you've got a problem. Your code is the equivalent of the lady in the electric scooter desperately trying to reach the pound cake at standing chest level.