Perl Maven

Search for '{{search_term}}'

Perl tutorials and courses

Modern Perl Web Frameworks

  • Mojolicious light-weight web framework with rainbows and unicorns.
  • Perl Dancer light-weight web framework to rock.
  • Catalyst The MVC web framework of Perl.
  • PSGI/Plack, the low-level superglue between Perl web application frameworks and web servers.
  • CGI, the Common Gateway Interface, for old-school web applications.

Object Oriented Perl

  • OOP, the classic way to write Object Oriented Perl code.
  • Moo, the Minimalist Object Oriented system for Perl.
  • Moose, the 'post modern' Object Oriented system for Perl.

Other Series

Projects and Collections

Code-Maven series

If you are a beginner, or would like to refresh your Perl programming knowledge, you can go over the Perl tutorial or watch the Beginner Perl Maven video course.

If you need to maintain a large piece of software written in Perl by other people in the last 5-10-15 years, that's a challenge. Especially if you did not get proper training in Perl. You are probably limited to a specific and old version of Perl. Check out, the Perl tutorial! You can probably skip the part about installing Perl, but the rest of the tutorial will be relevant for you.

Perl is often used in Test Automation. If you work in this field, or if you'd like to work in this field (it is much more fun to find bugs in other people's code than in yours :), then you can read the Perl tutorial and the series on Test Automation using Perl.

If you build new web applications - either privately or inside a company - you can start by reading the article comparing CGI, mod_perl and PSGI. From there you can go on reading the generic Perl tutorial or the articles on Mojolicious, Perl Dancer, Catalyst, PSGI/Plack, or even CGI, the Common Gateway Interface, for old-school web applications.

Recent Articles

Deleting item using Ajax request with DELETE and OPTIONS

We can now add new elements and list the existing elements from our list of items, but how can we delete an element?

For this we need another ajax request that will send in the ID of the item. For that we'll have to create a button on the HTML page that already has this ID. Before doing the front-end though, let's add the API call for deleting an item.


Deleting item using Ajax request with DELETE and OPTIONS


Comparing complex data-structures using is_deeply

So far we compared single scalar values to some expected value. What if your function returns an array, a hash, or a multi-dimensional data structure consisting of lots of arrays and hashes? How can you compare that to some expected data structure?

Test::More provides the is_deeply function for this.


Comparing complex data-structures using is_deeply


Speed up calculation by running in parallel

In this example we have a bunch of numbers. We need to make some heavy calculation on each number (using our calc function), and then collect the results in a hash where the keys are the original numbers and the values are the results.


Speed up calculation by running in parallel