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: Benchmark: Refactoring MD5 calculation in Rex

Regardless of your level of involvement with coding, sooner or later the time comes when you have to choose between various implementations for a specific task. Depending on the situation, there can be multitude of criteria to help your decision, and performance is usually one of them.

Luckily, Perl 5 comes with a Benchmark module, that can help you to quickly compare alternative solutions, and thus help you do a better job.

In this article, I'll show you how this module helped us to improve the MD5 calculation logic of Rex while making sure we are not slowing things down.


Benchmark: Refactoring MD5 calculation in Rex


Pro: Web Scraping TED - list of talks

A few days ago I've started to experiment with web scraping the web site of TED. The first article was about fetching data of a single TED talk.

This time we are going to see how to retrieve the list of all the talks available on TED.


Web Scraping TED - list of talks


Check test coverage - add compile tests

At this point I had quite some struggle to decide what to do next.

I really wanted to run perltidy and perlcritic, and fix some of code snippets that were bothering me, in general to make the code more readable, but I knew the "proper" way is to first have a good test coverage.

So I generated the test coverage report. That seemed to indicate a good test coverage.

Except that there were a number of functions not covered and there were a number of modules never loaded to memory. I could add tests using the code that were not loaded during the tests, but who knows, maybe those functions are not in use any more.


Check test coverage - add compile tests