(This article is cross posted here and on my own blog)

I wrote a Perl book accidentally during my vacation. I started typing and everything just fell out of my head over the next few days. Its still pretty rough but I think its a decent start.

The book is called Minimum Viable Perl..

Ok, its not a real published book. Maybe I’ll self publish it on Amazon some day. For now its just a website. I’m going to call it a book anyway.

What its about

This book is for developers who want to get up to speed with Perl quickly through concise tutorials (about 1 screenful in size).

Being concise is one of the primary goals. In the age of stackoverflow and blogs and info graphics everyone is in a hurry. People shouldn’t have to wade through unnecessary prose. I literally review each sentence in each article and try to remove unnecessary words.

In order to keep things short and to the point I’ve also chosen to be opinionated and intentionally left out some dicussions and edge cases that were uncommon or not essential. Instead I’ve tried to link to more information.

Why I wrote it

I keep meeting good developers who are visiting Perl from other languages who are strugglng with the language. I’ve tried pointing them at various books and resources but that doesn’t seem to be enough. When I talk to them about their struggles, the top 3 problems I hear about are:

Dereferencing (confusing)

Object oriented programming (how?)

Random stuff they can easily do in their favorite language but don’t yet know how to do in Perl (opening files, testing, templates, dependencies, etc).

My theory is these all boil down to the fact they don’t have a good, concise, easily digestable online source of information and answers in one easy to find location. The information is out there but its not easy for new people to find. This is my attempt to solve that problem.

The future of Minimum Viable Perl

If this seems useful to people, there are many more articles that could be written and quite a few rough edges that could be smoothed.

Feedback and bug reports are welcome via github