Mojolicious Web Framework in Perl
mojolicious.org
mojolicious.org
I have written everything from raw PSGI apps to rolling my own web framework to hacking on other peoples' web frameworks (most recently, Tatsumaki). But every time my toy app becomes something I actually want to use in the real world, I turn to Catalyst. The backcompat is "ugly", but it's easy to do everything you'll ever need to do, and the defaults are reasonable. You can write messy code, you can write super-clean code, and everything in the middle.
What won't happen is you getting stuck with some aspect of the framework. "It does that."
Small web frameworks are appealing because when you are reading someone's blog, you think, "yeah, that's about all I ever need to do". Unfortunately, it's the "about" that's going to kill your project.
Take some time to learn the whole system and it will reward you for years to come.
Frameworks like Mojolicious, Jifty (http://jifty.org/) and Dancer (http://perldancer.org) are much quicker to get up to speed on, but suffer slightly from having a smaller community of users and developers.
I've been playing with non-Catalyst frameworks a bit recently as I've been pondering a little bit of product development on an in-house project.
Of the non-Catalyst Perl web frameworks Dancer is my favourite http://perldancer.org/. For my money it's a neater package than Mojolicious, which takes the no-dependency thing a little bit too far for me. Dancer's non-OO DSL declarative style seems to work quite well (it's very heavily inspired by Ruby's Sinatra).
I'm going to give Dancer / Plack a whirl as the basis for a non-trivial app soon. I think it'll work quite well from my experiences so far.
(BTW - if you've not started playing with Plack in Perl - do so. Veeeeery nice.)
As to what you should learn - who knows :-) If it were me I'd spend at least a few hours playing with Dancer/Mojolicious/Jifty first - since any of them will have you up and running with a demo in a few minutes. Catalyst will take more work.
Mojolicious is very cool, has strong leadership, direction, and is very opinionated.
I prefer Dancer, and believe it fills a slightly different niche - but the competition between both can only be a good thing.
It's great that you promote your framework, but it doesn't mean that similar frameworks can't be good.
When I said Dancer is "similar" I was only thinking of Mojolicious::Lite. Feature-wise Dancer and Mojolicious are obviously not in the same league, and are not meant to be. People who just needed a small and easy solution were happy enough with Dancer.
Maybe nowadays Mojolicious::Lite should be their go-to solution - but you're not gonna convince anyone that way.
Also, completely replacing your comment without indicating it with an [edit] or similar isn't very nice.
I admire your work in the Perl web space, and have been following it via Planet Perl. There's no need to defend it with snarky one-liners.
Now i would rather stay on topic and talk about more exciting things like Mojolicious.
For the "design issues" in Dancer, you may not know, but the code base has hugely been rewritten since your last epic marketing actions. So what you're saying here might be very well obsolete, just for the record.
Oh and one last word, as I said before, I don't understand why you put so much hate and energy when Dancer is mentioned. What's the problem? Do you want to rule the world or what?
If Mojolicious is so good, why do you need to make so much noise?
P.S.: Every single design issue i pointed out is still present.
They are two different frameworks, to serve different requirements to some extent.
Then do the same with Catalyst.
The experience you have will make up your mind for you - I'd be surprised if you're not sold on Mojolicious after only a day or two.