Programming Perl in popular culture

While watching Brooklyn 99, the new Andy Samberg show, I notice in the background of the police psychologist’s office a curious blue-spined book. The trade dress of O’Reilly books makes them instantly identifiable from a distance, even when blurry, which means they probably got it right. I had to look at it on pause for a few seconds to convince myself I wasn’t seeing things.

Nope, that’s definitely Programming Perl, Third Edition. Miyagawa then pointed me toward a much more in focus appearance in the TV show Chuck. This time the book is bedside and by itself. Some light bedtime reading?

You can tell that it’s the third edition because each has a distinctive look, which I showed in “20 Years of Programming Perl”. Seeing a specific book I’ve worked on, even in an edition prior to my involvement, is almost as good as seeing the Camel in The IT Crowd:

Camel Perl::Critic Policies

Update: This project has been absorbed into the main Perl::Critic project.

Chapter 21 of Programming Perl recommends several programming practices and styles. Tom meditated on Perlmonks that he’d like to have Perl::Critic policies for those.

Some of the policies already exist and there are many recommendations that still need policies. To start this effort, I created the perl-critic-policy-camel GitHub project. If you’d like to take part, let me know. Or don’t: just fork and work and send pull requests.

Scott Hildreth wins the Programming Perl cover

Scott Hildreth, wearing his YAPC::NA::Madison shirt, shows off the framed and signed Programming Perl cover he won from this blog. I never keep this swag for very long, so you might get some too if you follow along.

He’s also standing in front of a Chicago White Sox banner, which almost cancels out the benefit that he gets from using Perl.

OSCON discounts for the Camel book

During OSCON, the Programming Perl ebook is $19.99 (50% the list price) when you buy it through the open source geeks promotion or by using offer code CFOSCON.

Besides Programming Perl, you can also get Randal’s Schwartz’s Learning Perl Video Series for $74.99 (also 50% off).

Win a framed cover of Programming Perl

A framed cover of Programming Perl showed up in my mail today. Our publisher, O’Reilly Media, has been doling these out to authors in the past couple of months. Tom got one about a week ago and I was slightly jealous, even though I already have one for Learning Perl. So what am I going to do with this one? I’ve signed the front glass, not wanting to disturb the very nice framing job, which also means that if you hate my signature, a little rubbing alcohol should remove that easily.

A framed book cover, with my signature

I’ve come up with some creative giveaways for the books, but I wonder what I should ask our readers to do for a chance to get the framed cover. It’s not enough to simply put your name into a raffle. I wouldn’t mind auctioning it on eBay, but that locks out the people who can’t get an account. But, I want the recipient to give something to get something. So, this time, I’ll let people decide what they’d like to exchange. You don’t have to give something to me; maybe you fix a bug in perl, donate a bunch of stuff to your local hacker space, or something else that makes the universe a slightly better place. Leave a comment pointing to what you’ve done.

I still have some full books (cover and all the other pages) to give away too.

Re: What is Modern Perl?

Dave Cross reviewed Programming Perl for josetteorama. It’s no surprise to us that he likes the latest edition.

He spent most of his review distinguishing between different definitions of “modern Perl”. Most people use that term in conjunction with the module and book of the same name, which means they are programming in a particular fashion with a particular set of modules. The Camel book has never cared what you are doing though. It’s a reference for the Perl language, not a guide to Perl application development.

As Dave points out, “modern Perl” can also mean “up to date”. He says:

The Perl of 2012 is substantially different to the Perl of 2000.


The definitive Perl book is now up to date with the way that the best Perl programmers now program Perl.

That was always the plan. We talked about the other meaning of “modern Perl”, but fully realizing that “modern” isn’t the same thing as contemporary. “Modern history” started right after the Middle Ages. Indeed, much of “modern Perl” started in 1995 when we got Perl 5. The “modern Perl” movement isn’t so much about getting people to program with the stuff released today, but to get them to stop programming in the Perl 3 fashion. That’s what chromatic says on the back cover of Modern Perl:

[M]ost Perl 5 programs in the world take far too little advantage of the language. You can write Perl 5 programs as if they were Perl 4 programs (or Perl 3 or 2 or 1), but programs written to take advantage of everything amazing the worldwide Perl 5 community has invented…

“Modern Perl” is really Perl 5, and that’s evolving because Larry specifically created Perl 5 to be user extensible (and he went one further to make Perl 6 user-mutable). How we extended and used Perl 5 ten years ago is different than five years ago is different from today, and we fully expect that in five years we’ll be doing it in another way. However, the core language will be what it is, and that’s what Programming Perl is about.

More Programming Perls to give away

Just when I’d mailed off my last Programming Perl, O’Reilly sends me five more. I think I was suppose to get these before YAPC, but it’s too late for that. Don’t they realize these are big, heavy books? Now I have to figure out how to give away five of these. Although we are arranging for the second printing, having sold out the first, these are still the first printing.

18 pounds of more books

To get these books, you’re going to have to do more than send me a postcard. This time, you have to support a charity where I was recently elected to the Board of Directors. Fractured Atlas liberates the artists by doing the back office bits for them, including donor management, project insurance, health insurance, space rental assistance, and many other boring, non-arty bits. There’s a lot of web programming involved in the tools that artists use, and a lot of tools to transform data in various ways. Make a $50 or higher donation to their general fund and send me your receipt (minus details I shouldn’t see). I’ll take everyone who does that before July 19th and randomly select five people to get a signed copy of the Camel, or pass them out for those who go bend my challenge. Even if you don’t want a Camel, consider a gift that helps artists make our world better.

Recipients of my thanks

  1. Demain, who supported The Debate Society with a monthly donation through Fractured Atlas.

My first Camel royalties

I just made my first $4 on Programming Perl. O’Reilly Media just moved to a monthly (instead of quarterly) royalty report and payment. Now I get to the reports at the end of each month, although it’s for three months back. Royalties come three months after so booksellers have time to track inventory, send money back, and more troubling, return books they don’t want anymore.

Programming Perl was officially available in March, so I won’t see any significant money until the end of June. However, it looks like some people bought the ebook version directly from O’Reilly so they’ve already delivered those and taken the money. I can get those royalties now. That’s $4.20.

Things are looking good for the Camel.

Get your Camel signed, remotely

You can almost always get a signature from an author if you find them in person at a conference, Perl mongers event, or on the street, sometimes you don’t have those opportunities (especially since all of the authors are from the United States).

You can still get the signatures even without those opportunities. I have a limited number of “Authentic Author’s Signature” stickers from O’Reilly. If you send me a postcard with your address (here’s mine), I’ll send you one of these signature plates.

Programming Perl giveway winners

I had eight copies of Programming Perl to giveaway. They were making a mess out of my office and I wanted to get rid of them. I could have just stood on the street handing them out to morning commuters, but who wants to juggle a four pound book and a coffee at the same time? I challenged people to use Twitter to give me a reason they deserved one of these copies. There’s are the winners:

Constantin sent me tourist info

  1. Constantin Tudor, who has submitted programs for the Learning Perl Challenges, and, based on my “Nobody is a good speaker when they start” YAPC::NA guest post, has decided to give some Perl talks. That’s certainly worth a Programming Perl.
  2. @philipstevens wanted a Programming Perl for his birthday, so I sent him one.
  3. Richard from Belgium sent me a nice postcard from Brussels, so I sent him a Programming Perl.
  4. Martin Atukunda from the UK, who has a new flat and empty shelves. Programming Perl gets to be the first new book on that shelf.
  5. Craig, for sending me a postcard from Suriname.
  6. Flavio Poletti, who wrote an “HTTP Transfers with a Soul” for The Perl Review.
  7. Alberto from Torino, who sent me a nice postcard and needs to contact me to give me his mailing address.
  8. Ian from South Africa, who sent me a nice postcard about Louis Lamour paperbacks.
  9. André from Montreal, who sent me a nice postcard of a Montreal city scene.
  10. Anton from Moscow, who sent me an amazing set of Soviet travel postcards from the 30s and 40s.

Yes, I started with eight and gave away 10. I don’t know how I keep getting more books, but they multiply. It’s one of the reasons that I have to get rid of them.

Many more people tweeted and sent me person mail, but, honestly, most people didn’t say anything compelling. They wanted a new Programming Perl because it would help them with Perl, but that’s the same for everyone. That’s not a good enough story for me to spend $35 in postage to send you a free book.

Although I won’t mention names, some people were gracious enough to donate that shipping cost back to the site, which lets me spend more time on writing about Perl. Thanks!