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 - Server side JavaScript
- PHP
- Python
- Ruby
- SVG, Scalable Vector Graphics examples in JavaScript and Python.
Recent Articles
GitHub Actions for CPAN modules
GitHub Actions is a system provided by GitHub to automate virtually any process you like. Including the possibility to create Continuous Integration (CI) systems for CPAN distributions.
While Perl developers who upload their code to CPAN will greatly benefit from the volunteers behind CPAN Testers setting up a CI system has a number of benefits even for CPAN developers.
One-liner: Remove first two characters of every line
In a project creating a Ladino dictionary in which I have a few thousands of YAML files. They used to include lists of values, but a while ago I split them up into individual entries. I did this because the people who are editing them are not used to YAML files and it makes it a lot easier to explain them what to do.
However the previous change left me with 1-item lists in each file. I wanted to clean that up.
one-liner: read first elements of a huge directory
At a client we have a networked disk with millions of files. I was trying to list the first few files to see what's going on.
ls -l | head takes ages, but here is a Perl one-liner to make it work: