I'm developing a data analysis & visualization tool. I'm starting to really wish there was a nice way to separate out the math/statistical logic that I'm using on the backend from the logic I use to display the results in a pretty way.
Catalyst is an ideal candidate for you for this. The Controller and View code is very much separated from the Model code that you want, and agnostic to the framework code. I'm writing some text mining stuff at the moment, and Catalyst is what I'm using to keep web application logic and problem-domain logic well separated from each other. This (hopefully) makes everything much more maintainable.
Why don't you either a) put all the math stuff in its own set of modules and/or b) have your backend do all the analysis and store it in a middle layer (e.g. DB) for the front end visualization?
Well, with perl to a certain extent the frameworks are really a bunch of separate libraries packaged up together. You CAN use CGI and pick your libraries for form validation, AJAX tricks, templating, authentication and session management, and such. But why bother? It all comes canned with a framework.
Personally, I also glue together CGI, DBI, etc., and I have no desire to use a framework. Why do you? Is something in particular cumbersome?