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

Using 'like' to test without exact values

When testing a function, the best is if we can test that the function returns exactly what we expected. Unfortunately this is not always possible or worth the effort. For example, what if part of the return value is a timestamp that will be different every time we run the script. We can mock the time to pretend it is some other time of the year, but even that might not work out. If we get a newer machine, the process might run faster and by the returned time might not be exactly the same.

So we need to be more flexible with our testing.


Using 'like' to test without exact values


TODO - testing a bug or a future feature

So far we kept running a test script that always failed because the application had a bug. This of course will happen in the real world too. You get a bug report. In order to verify it, you write a test-case reproducing the situation. This test case will fail. Many times you can't immediately get the bug fixed. Either because the programmer who needs to fix the bug is not available, or there are more urgent tasks.

The question what do you do now?


TODO - testing a bug or a future feature


Pro: Showing objects in the JavaScript console without going mad

We have already seen how to print logging in JavaScript, but the really interesting part is when we would like to see the content of variables. Especially variable that hold objects.

It is actually quite easy, but there is a catch.


Showing objects in the JavaScript console without going mad