Marketing Perl

Sometimes people ask me why Perl marketing is so important. This morning I came across an excellent example of the kind of thing that we’re trying to counter.

In the current issue of Linux Format, there’s an article about building a Twitter client in the bash shell. It’s written by Nick Veitch – who seems to dislike Perl a bit. In the article he wants to URL encode a string and can’t find an easy way to do it in bash. He writes:

However, the compromise I’ve found for this isn’t too bad (props to It uses Perl and, like everything in that language, it looks like you ought to sacrifice a goat or something before you run it.

perl -p -e 's/([^A-Za-z0-9.-~])/sprintf("%%%02X", ord($1))/seg'

It’s not clear to me which part of the Perl make him want to start sacrificing goats. Is it the s/// syntax that Perl borrowed from sed? Perhaps it’s the regular expression syntax that Perl shares with pretty much any language with regex support. Or maybe it’s the sprintf function that Perl borrowed from C and that many other languages (including bash) support with a pretty similar syntax.

Of course I’m not saying that Perl doesn’t have some grungy corners in its syntax. But the three pieces of syntax used in this code fragment look to me like things that should be understood easily by just about anyone with experience of programming in the Unix environment.

And if this code is so hard to understand, why use it? I don’t know what Nick’s programming language of choice is, but couldn’t you do exactly the same thing in Python, Ruby or PHP? I can’t believe that Perl is the only language that is so powerful. And I’d be very surprised if the same code didn’t look very similar in many other languages.

So why the unnecessary little dig at Perl?

Of course, it’s clear that Perl isn’t a language that Nick is particularly familiar with (neither, indeed, is the person who he took the solution from). Anyone who knew Perl would realise that Perl’s standard distribution includes the CGI module which contains an escape function which does exactly what Nick wanted – without exposing the programmer to all of that scary syntax. I would write Nick’s code something like this:

perl -MCGI=escape -e'print escape "@ARGV"'

There are a lot of people out there with really strange ideas about Perl. People who don’t bother to find out the best ways to do things in Perl. And having widely-read Linux magazines printing snide comments about Perl does no-one any good at all.

This is why I think that Perl marketing is important. We need to reach the people outside of the echo chamber and tell them that Perl isn’t the outdated, hard-to-use language that they are being told that it is.

Update: I should have pointed out that I’ve sent an abbreviated version of this to Linux Format. Hopefully it’ll be published in the next issue. And I’m considering proposing a series of articles on Perl to them.

Marketing Perl at FOSDEM

It’s two weeks since I went to FOSDEM and I promised to write an article about what happened there. Better do that before I forget everything.

Some time ago, Gabor applied for a Perl stand at this year’s FOSDEM. The idea was that we could go along and promote Perl to people who are part of the Open Source community but not part of the Perl community.

When I first arrived at the venue, it took me some time to find the Perl stand. This was largely because I was searching in the wrong building. I forgot that FOSDEM is spread over several buildings at the ULB. I had assumed that we’d be in the main building, but we were actually in another building along with most of the stands.

The Perl Foundation had paid for some stuff for us to give away from the stand. We had some postcards listing Perl events in Europe this year and some round tuits. There were also a few other leaflets promoting particular Perl events.

I think it was unusual for a programming language to have a stand at the conference. Plenty of other projects had stands, but I didn’t see any other languages. A lot of the other stands were promoting projects that they were able to demonstrate. I think it’s hard to demonstrate a programming language in a situation like that.

We got a lot of people passing by the stand and many of them stopped to talk. The round tuits attracted the most attention, but it was sometimes hard to explain the joke to people whose first language wasn’t English. There were at least a couple of times when I just gave up trying.

On Saturday afternoon, Juerd arrived. He brought a projector with him and we set that up projecting a hastily assembled slideshow on the wall opposite us. That also drew a lot of attention to the stand. In the future I think it’s a good idea to plan something like that in advance.

Just about everyone who we talked to knew about Perl. And most of them had used it at some point. Most of the people I spoke to were still using it to some extent. But very few of them knew about the “Modern Perl” projects that we were promoting (Catalyst, Moose, DBIx::Class, etc) or the huge number of Perl events that take place i Europe every year. I think we got some of them interesting in Modern Perl and I’m hoping that we’ll see a few new faces at various Perl events this summer. I promised to buy a drink for some of them if they come along to YAPC::Europe. If they all take me up on it, it might get a bit expensive.

Our presence at the conference was all very experimental. We know that this is something that we want to do more of, but we’re just working out the most effective approaches to take. But I think that we can count this attempt as a success and take the lessons learned forward to other non-Perl conferences. The next one on the list is CeBIT.

Other people have also written about this event: Gabor, Claudio, Erik, Salve.

The “Without Whom”s

In The “M” Word, I listed many of the things that have happened in the Perl marketing world over the last year. I wanted to end the year by mentioning a few people without whom this project would not have got off the ground at all.

  • Curtis “Ovid” Poe started writing about Perl’s image issues on his use.perl journal back in July. But he didn’t just write about it. He chaired the Marketing BOF that we held in Lisbon and he was the driving force behind setting up the TPF marketing committee. He has also been instrumental in getting the site up and running.
  • Gábor Szabó wasn’t very far behind Ovid in starting to blog about marketing. He has also been vociferous in TPF marketing committee discussions. He always has another idea for projects we can take on and often does those projects himself before anyone else has a chance to volunteer. I particularly want to draw attention to the clean-up he did on (a site full of links to dead Perl Monger groups isn’t great advertising) and his work trying to increase Perl’s visibility at non-Perl conferences.
  • Matt Trout and Mark Keating set up the Iron Man Blogging competition. To my mind this has been the single biggest success in marketing Perl this year. I’m still astonished daily by the number of people out there who are blogging about Perl. They have somewhere around two hundred blogs in the competition.
  • Leo Lapworth has done some amazing work dragging Perl’s web sites into the 21st century. Not many weeks go by without Leo announcing that he has redesigned another web site. I’m sure I’ve forgotten some of his announcements, but for a sample of his work see,, and Thanks should also go to his employers, Foxtons, who donated some of his time (and some time from a web designer too).

Of course it’s true that the recent resurgence of Perl is due to the new and improved modules that you can find on CPAN. Moose, DBIx::Class, Catalyst and Plack (to name only four) are what enables Perl to retain its place in the forefront of modern programming languages. But it’s the people listed above (and dozens of other who also work on marketing projects) who enable Perl news to break out of the echo chamber.

We owe these people our thanks. And, on a more practical level, we owe them beer. If you see them at a Perl Mongers meeting, at a conference or even just on the street, it is your duty to stop them and say the magic words:

“Hi. Thanks for your work. Can I buy you a beer?”

The “M” Word

Yesterday was the London Perl Workshop. As always it was a fabulous day packed full of great talks about Perl. Thanks to the organisers for all the work they put in.

I gave the keynote speech first thing in the morning. The talk was called The “M” Word and it was an overview of how the Perl community has started to get to grips with the problem of marketing over the last year.

Here are the slides:

YAPC::Europe 2009

Today I travelled home from YAPC::Europe 2009 which was held in Lisbon. Readers of my other blog will know that I almost didn’t get there at all. The return journey was far less stressful.

On the weekend before the conference I gave a two-day “Introduction to Perl” course. We had six people on the course. I’m pretty happy with that as I think it’s a brave decision to have a beginners’ course at a Perl conference. I’m also happy to report that a third of the attendees were women.

There were four tracks of conference talks. This, of course, is guaranteed to lead to situations where you want to watch more than one talk at the same time. I think that at one point I really wanted to watch three of the four talks. Of course, there’s also the “hallway track” which is the best part of any good conference. This week there were two or three occasions when I found that I’d missed talks that I wanted to see because I had been so engrossed in an interesting conversation. All in all, I’m really glad that some of the talks were being recorded.

One highlight for me was meeting Paul Fenwick and Jacinta Richardson. I’ve been talking online to Paul and Jacinta for something like seven or eight years but we had never met face to face before because we spend most of out lives on opposite sides of the Earth. It was great to finally meet them. They’re as lovely in real life as they are online and they’re also both great speakers with interesting things to say.

Another highlight was the Marketing BOF that we held on Tuesday evening. There’s a growing concern in the Perl community that people outside of the community have an out of date and rather uncomplimentary view of Perl. The conference was full of people who had many ideas for fixing this. Ovid has a good description of this BOF over on use.perl so I won’t repeat the details here. I’ll just point out that some of us tried to have a similar meeting at EuroOSCON in 2005. At that time we had four people turn up. This week there were more than fifty.

The quiz show on Tuesday night was fun too. Greg and I were a last minute substitution as one of the teams failed to appear. We won our qualifying round, but came third (out of four) in the final. I was particularly embarrassed to have been beaten to the answer to the Buffy question.

And it seems that I owe the Perl community an apology. In his closing keynote, José Castro gave some examples of bad Perl advocacy. Number one on his list was my Why Corporates Hate Perl article. José pointed out that many people only read the title of an article and that my title was, perhaps, badly chosen. I’m sorry if I’ve caused any damage.

All in all, a great conference. Many thanks to the organisers for all of their hard work.

Hope to see you all in Pisa next year.