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

Pro: Python: Temporary files and directory for Pytest

When we write tests for complex applications, the application will often rely on some files that ned to be read. For example configuration files.

In addition the application might create files while the test is running or change some of the existing files.

We would like to be sure these changes don't interfer with the regular work of the rest of the computer and even if we run several tets in parallel that might all want to change the same file, these tests won't interfer with each other.

The best course of action for us is to use a unique temporary directory for each test function.


Python: Temporary files and directory for Pytest


Pro: Python Pytest assertion error reporting

One of the advantages of Pytest over the unittest module is that we don't need to use different assert methods on different data structures. Pytest, by way of magic (also known as introspection) can infere the actual value, the expected value, and the operation used in a plain old assert statement and can provide a rather nice error message.

Let's see a few of those error messages:


Python Pytest assertion error reporting


Pro: Python testing with Pytest: Order of test functions - fixtures

After getting started with pytest we will soon have a few questions. For example the order of the tests and how to factor out common code from the test functions.


Python testing with Pytest: Order of test functions - fixtures