Catalyst er et webapplikasjonsrammeverk skrevet i Perl som følger model-view-controller-arkitekturen, og støtter en rekke konsepter for webutvikling. Catalyst er sterkt inspirert av rammeverk som Ruby on Rails, Maypole, og Spring.
Catalyst er hovedsakelig distribuert gjennom CPAN, som er den offisielle distribusjonskanalen for Perl-moduler, og er basert på åpen kildekode.
Catalyst er basert på «Don't Repeat Yourself» (DRY)-prinsippet, som betyr at du skal bare trenge å definere ting ett sted.
Catalyst kan brukes med automatisk kodegenerering fra databasen gjennom en av mange «loader»-moduler, og trenger på den måte ingen kode for databaselaget. Hvis du krever fleksibiliteten til å gjøre alt manuelt, støtter Catalyst også dette. Fleksibilitet er et annet styrende prinsipp for Catalyst.
Catalyst oppfordrer til gjenbruk av eksisterende Perl-moduler som allerede håndterer vanlige situasjoner for web-utvikling godt.
Catalyst har et stort utvalg plugins. For eksempel Ajax og RIA støttes gjennom Catalyst::Plugin::Prototype-modulen (Prototype er et javascriptbibliotek).
Catalyst tilbyr en enkel web-tjener innebygd, som kan brukes til testing og utvikling. Til produksjonsbruk anbefales Apache eller lighttpd med FastCGI eller mod perl støtte, men Catalyst virker med alle servere som støtter CGI eller FastCGI. mod_perl kan hjelpe betraktelig på ytelsen under apache, men kan føre til problemer med å kjøre flere applikasjoner i samme web-tjener.
Catalyst kan bruke alle databaser som støttes av Perls DBI (Det betyr det meste, selv en CSV-fil), men det anbefales å bruke en RDBMS som lagring for databaser. Tilgangen til databasen er nesten helt abstrahert fra et utviklersynspunkt, og Catalyst håndterer database-tilgangen transparent gjennom bruk av sine modell-klasser. Om du trenger det kan du likevel utføre direkte SQL spørringer. Dette betyr at du kan utvikle database-nøytrale løsninger, som lett kan flyttes til en annen database, og gjør det lett å bruke en eksisterende database med Catalyst, selv om dette til en viss grad kommer an på støttede funksjoner i databasen. Flere databaser er fullt støttet, bla. MySQL, PostgreSQL, SQLite, IBM DB2, Oracle og Microsoft SQL Server.