Perl tutorials and courses
- Perl Tutorial just a plain Perl tutorial. Nothing fancy.
- Beginner Perl Maven video course slidecast of the training material.
- Advanced Perl Maven video course mixed slidecasts, screencasts and plain articles.
- Test Automation using Perl for people who really want to sleep well.
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
- Perl and MongoDB, the NoSQL database used in Perl programs.
- AnyEvent, asynchronous programming.
- Net::Server the framework to build TCP/IP servers.
- MetaCPAN - articles for CPAN users, CPAN authors, client developers, and MetaCPAN developers.
- Perl Maven TV Show is a collection of interviews with Perl developers.
- SVG - Scalable Vector Graphics
Projects and Collections
- The search.cpan.org cloning project - Implementing a CPAN search engine using Plack/PSGI with MetaCPAN back-end.
- Command line phonebook with MongoDB and Moo
- Indexing e-mails in an mbox
- Counter Examples Various solution on the simple task of building a counter.
- Becoming a co-maintainer of a CPAN module - refactoring a CPAN module
- Perl::Critic lint-like static analyzer for Perl.
- Implementing a Markua Parser in Perl 5
Code-Maven series
- Angular JS
- Ansible
- Flask, the Python microframework.
- Groovy, the programming language used for Jenkins pipelines.
- Handlebars the HTML templating system written in JavaScript.
- Java
- JavaScript
- Jenkins, the automation server used for Continuous Integration and Continuous Delivery.
- Linux
- NodeJS
- PHP
- Python
- Ruby
- SVG, Scalable Vector Graphics examples in JavaScript and Python.
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.
In the off chance you are interested in topics other than Perl, especially related to Test Automation, Continuous
Integration, Continuous Deployment, DevOps, then you are welcome to check out the list of
DevOps related training courses.
Recent Articles
Process the 6 headers of Markua
On of our first steps was to implement the parsing of the main header syntax of Markua which is a single # on the beginning of a line followed by a single space, followed by some text.
An easy step is to extend the code to be able to parse all 6 levels of headers that have 1-6 # at the beginning of the line.
How to print elements of an array in reverse order in Perl
The reverse function is an excellent solution, but for a fun exercise you might want to know how to do that without the built-in reverse function.
Counter example using YAML file to store the data
A counter example using YAML file to store the data.