Far gone are the days when you wrote Perl for the web in just CGI. Dancer, Catalyst and Mojolicious are the modern ways of going about it, with Mojo's version 8.0, code-named "Supervillain", being released just last week.
Each framework has its own distinct advantages, with Dancer being considered the most lightweight and with the lowest entry barrier; and Catalyst being considered the most heavyweight and with a steep learning curve. Mojo floats somewhere in the middle, its own strongest point being its claim to be a "Real time Web framework" due to its Websockets and non-blocking/async capabilities provided out of the box. With that said, let's discover what Mojo's newest version has to offer.
The most outstanding feature, given that Mojo is based on an Event loop à la NodeJS, is the introduction of the "Mojo::Promise" module, a Perl implementation of Promises that simplifies and enhances the asynchronous operations callback mechanisms in place. Also there is a major change in the Core's process model in that worker processes are now able to host any number of subprocesses in order to speed up the execution of slow prolonged operations.