Now you are just whinging. Seriously. Perl can make for some of the easiest reading in the world... if it is done right. There is absolutely nothing wrong with the language as a whole. Despite being the old dog on the block Perl is just as nimble configured properly as its Python and Ruby cousins.
Moreover, Catalyst is a fine product. If it broke for you then maybe, just maybe, you need to look into refining your skills more on developmental architecture.
Catalyst, more than any other framework, relies on a myriad of 3rd party created modules. It only takes one of them braking for the whole system to come crumbling down. The system is complex enough that even the package maintainers for ubuntu didn't get all of the links done correctly (libcatalyst-modules wasn't installed by default, it should have been. This lead to broken scripts and tools).
Hell, here's a problem that is VERY simple to solve in every other framework that I have looked at. How do you create models for an existing, remote, mysql database. If you think the answer is simple, think again. The documentation is terrible. Hell, even the guys in the catalyst IRC channel admit that the documentation for this sort of stuff sucks (they were not able to give me a solid answer).
As a whole, the perl language, like all other languages, has its strengths. Web development is NOT one of them. Hell, things that require you to use "functions" are starting to get into the realm of things that perl is not really that good at. When you start to doing OO stuff and you are in the realm of "perl sucks at this".
Every language has problems, saying that "There is absolutely nothing wrong with the language as a whole." is a vast sweeping statement that ignores a lot of issues. Some languages are just better at certain tasks than other languages.
Perl is great at quick, short scripts that do lots of string manipulation.
Ruby on Rails is a 'from the ground up' framework. There are various reasons why you don't want to refactor existing code and/or tables into it. Namely, you lose convention and are forced into a plethora of configuration. Grails is the same way. Got existing database tables? Good luck with migrations...
It depends on how poorly the tables were written. I've already ported most of our database scheme to RoR models with a fairly small amount of fiddling. Yes, if you have a big nasty mess of a database, RoR might not be the best choice, but so long as your database is reasonably configured, even it is already exists, RoR does a pretty good job.
Not using migrations? Why the hell are you using Rails or Grails again? Expressive syntax? The ability to hustle up cheap labor because Java and .NET developers cost too much and every AS/BS degree graduate has been taught Rails? Except you will follow into the same Forking Hell with ruby when trying to multi-process, something you will almost certainly do on a sys-admin level. The only way to get around that is to use JRUBY or JYTHON. Why you using Rails again?
It has a clean syntax, it is VERY well documented, it has a large amount of support. It uses a language that was built for OO design (and it shows). Take your pick. The language, the ability to produce clean and good looking code quickly is pretty powerful.
migrations isn't the only reason to use RoR. It helps, but it isn't some game changing "This is the only reason to use RoR" sort of thing.
Just saying... maybe you don't need to retrain an old dog. Maybe the new mavrick needs to be broken in a bit. <3
I hope my post isn't antagonistic... but you definitely need to ask yourself some SA questions prior to trying to reinvent the wheel or inject new ideas into older developers ( ideas which aren't new, see Cobalt vs Java discussions circa 2000 ). Also, Perl isn't ugly if you know what you are doing and you do it right.[/QUOTE]
You make the assumption that all developers will always do perl "correctly" Perl is one the easiest languages for a programmer to make ugly out there. Magic things like @_ $_ all add to the crazyness that is perl.
You can make (almost) any langauge look good. Some languages just tend to get ugly fast.
The system we have now has many unmaintainable portions. Reinventing the wheel is a necessity (Read, the point were we are adopting a new framework, that was NOT my idea.) Switching to a new framework will REQUIRE use to reinvent the wheal. Switching to catalyst (like the older developer is suggesting) will REQUIRE use to reinvent the wheel.
If we are going to reinvent the wheel anyways, why shouldn't a young maverick suggest using tools that were built from the ground up for this sort of task? Why is "use a hammer for everything" such an appealing notion?