Having used both extensively, I would say the following:
- Catalyst is much more powerful and expressive. It allows greater reuse of code and provides much better abstractions than anything I've seen, other than Rails. That said, the learning curve is very steep. I was able to learn how to use Catalyst under mst, the lead developer. I would strongly urge you to find someone on the devteam and crib from them.
- If you don't need Catalyst's power, CgiApp is a perfectly capable framework. It's extremely easy to learn and has a lot of power to it. It's so simple that you can just read the source - it's just one file. The test suite covers most everything and can be read and understood in an afternoon.
Basically, Catalyst is much harder to learn, but can give you more expressiveness. CgiApp doesn't have as much power, but does what it does simply. If you want something you can understand in an hour and that's perfectly fine, use CgiApp. If you are going to need a lot of raw power and are willing to invest a good deal of time and drink a whole bunch of kool-aid, then Catalyst is what you want.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?