Want to learn Perl? Good tutorials can be hard to find, and many of the top tutorials that Google directs people towards were written over 10 years ago and do not teach best practices. In fact, some of the practices that they encourage are downright bad practices. If you’re just starting out with Perl and you want to learn modern Perl programming techniques and practices start with a tutorial that was written recently using a modern version of Perl.
I recommend the following guides:
- Modern Perl by Chromatic. Yes, he sells this as a book (which you should buy), but you can also download the PDF version for free (as well as other electronic formats) if you want to check it out.
- Learn Perl by Eric Wilhelm @ Scratch Computing. Quick tutorial that teaches Perl using modern features from Perl 5.10+.
- Perl tutorial videos by Gabor Szabo. Gabor has been teaching Perl classes for over 13 years. This series of video tutorials was taken from some of his recent classes.
Once you’ve digested the basics, move on to these more advanced topics:
- Perl for Facebook – Write a Perl program that works with Facebook data, pulling data from and updating information on Facebook.
- Net::Twitter – You can also write Perl apps that work with Twitter using Twitter API calls in Perl.
- Moose – Moose is a complete object system for Perl. You can create objects from scratch using Perl, or you can use any one of dozens of modules that create objects for you. Moose is an easy to use and comprehensive object system, well worth the time to learn.
- DBIx::Class – Object-relational mapping simplified. Store your objects in a database.
- Dancer – A micro web application framework for Perl. Fast, lightweight, and powerful.
- Catalyst – Web framework for Perl similar to Ruby on Rails.
- PSGI/Plack– From the website: “PSGI is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers.” If you’re writing large, scalable, service-oriented web applications in Perl, check out PSGI/Plack.