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.
- 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
- Angular JS
- Flask, the Python microframework.
- Groovy, the programming language used for Jenkins pipelines.
- Jenkins, the automation server used for Continuous Integration and Continuous Delivery.
When we say we read from a file or write to a file in Perl (or any other language for that matter), we don't actually access the file directly and immediately. Instead of that we what we really do is that we ask the operating system to read from the file or write to the file using a "system call". The Operating system (Linux, OSX, Windows, etc.) will do the work on our behalf, but it will try to optimize.
So it won't go and write to the disk immediately when we ask it to write a few characters. Instead of that it will keep the request in memory in a "buffer" and will write it to the disk later, when the buffer is full or when the file is closed.
The delete function will remove the given key from a hash.
It is really easy to return multiple values from a subroutine in Perl. One just needs to pass the values to the return statement.