Perl Tutorial

Google Reader just showed me Mithaldu’s blog post about the falling level of Google searches for the term “perl tutorial“. The fall is, of course, more than a little worrying and we should do what we can to get more people searching for Perl. But I wondered what results Google is currently returning for this search. It’s not a pretty sight.

  • The first two results are for Nik Silver’s Perl tutorial from about twenty years ago. I know Nik and I know that he would be horrified to think that people were trying to learn Perl from this site. Nik has been responsible and left a clear notice at the top of the page stating how out of date it is and I understand him wanting to leave the page there for historical interest. But I still see questions on places like Stack Overflow from people who are obviously using this tutorial.
  • The next link is to a site at That sounds encouraging, but it’s a rather pedestrian affair teaching dated and simplistic Perl and written by someone whose first language clearly isn’t English.
  • The next result is to It’s about as good as you’d expect from a site that insists on calling the language “PERL”.
  • Next, we finally get to something worth using. It’s a link to the free online version of Simon Cozens’ book Beginning Perl. That’s good – but it’s still a little dated.
  • Next we get to Robert’s Perl Tutorial. Which proudly boasts it was last updated on 20th April 1999. That’ll be up to date then.
  • The next result is BradleyKuhn’s book Picking Up Perl. This was an attempt to produce an open source Perl tutorial book. It was a worthwhile project, but it was last updated in 2002.
  • The next result is one that finally links to It’s an article by Doug Sheppard called Beginner’s Introduction to Perl. I bet it was great when it was first published in October 2000.
  • Towards the bottom of the list there are two links to Gabor’s recent (current?) Perl tutorial series. These are probably the only links on the list that we should be sharing with people wanting to learn Perl.
  • Finally, there’s the NCSA Perl Tutorial. At least this page has realised that it is out of date and has closed down. Unfortunately the alternative sites that it suggests are of variable quality.

So there it is. The first page of results is of rather variable quality. There’s some great stuff there, some good but dated stuff and some dreadful stuff. But I’m sure there are better Perl tutorials out there. It would be great if the first link returned by Google was to But what other sites should be on the list? What good Perl tutorial resources do you know of?

Have I just given all those dreadful sites a healthy boost of Googlejuice by linking to them?

Moving Stuff Around

A few weeks ago I talked about a few domains that I was going to let lapse unless anyone wanted to do anything with them.

No-one showed any interest so the domains will go away over the next few months.

But in order to hang on to the content, I spend a couple of hours last night moving some stuff around.

The stuff from is now at and the old content is now at I’m still holding out hope that I’ll find some people to resurrect Proud to Use Perl at some point in the future.

I’ve also set up redirections from the old addresses to the new ones – so hopefully Google will work out what has happened before the domains vanish off the web.

The and domains weren’t being used for anything, so I’m just going to let them die quietly.

I’ve never let so many domains expire before. I feel I’m growing as a person.

Perl News

Remember use.perl? It’s moth-balled now, but for years it provided two valuable services to the Perl community.

Firstly it provided a hosted blog platform which many people used to write about many things – sometimes even Perl. Of course we now have which provides a very similar service.

And secondly, it provided a place where people could submit stories related to Perl and then editors would approve the stories and publish them on the front page. Since use.perl closed down, the Perl community hasn’t really had a centralised site for that.

Over the last eighteen months or so I’ve had conversations with people about building a site that replaced that part of use.perl. But there’s always been something more interesting to work on.

Then, at  the start of this week, Leo asked if I knew of a good Perl news feed that he could use on the front page of And I realised that I’d been putting it off so too long. A few hours of WordPress configuration and Perl News was ready to go.

So if you have any interesting Perl news to share, please submit it to the site. Tech Meeting

On Thursday we had the first tech meeting for a rather long time. But it was well worth the wait. We were at Net-A-Porter‘s very nice offices above the Westfield shopping centre. There were four interesting talks. Pete Sergeant talked about High Level Web Testing, Zefram explained the New Extensibility Features Coming in Perl 5.14, Dave Hodgkinson talked about using Perl, Hudson and Selenium together and finally James Laver introduced us to his form processing tool, Spark.

What impressed me most about the evening was the size of the turn-out. I’m told that eighty people signed up for the meeting and it seemed that most of them turned up. Perl is certainly thriving in London. In fact it seems that there are a number of companies who are struggling to find all of the Perl programmers that they need. A couple of the speakers ended with “we’re hiring” adverts.

And from a couple of conversations I had during the evening, it seems that the scarcity of good Perl in London is starting to push Perl rates up. Seems that it’s a pretty good time to be a Perl programmer in London.

Three Short Announcements

Been a while since I’ve had time to post anything here, but I’ve just got time for three quick announcements.

1/ Last week I ran some public training courses. I’ve just put the slides online.

2/ There’s a technical meeting in two weeks time. It’s at Net-A-Porter (above the Westfield shopping centre) on October March 10th. A good line-up of talks. If you’re interested, please sign up.

3/ I was going to explain how the context examples in my last post worked. If you haven’t worked it out yet, I recommend a close read of the documentation for reverse.