A Modern Perl Fakebook


You don't really know a language until you understand its libraries.

You can learn Smalltalk's syntax in an afternoon, but you won't be able to do much with it until you learn its idioms and how it's organized and what's where and how to use it.

You can dabble in a hundred languages—a new language a month for the rest of your professional life—but if you can't write anything more substantive than "Hello, world!" or the first program I ever wrote on my own, you don't really know them:

30 PRINT "  "
50 GOTO 20

(I haven't proven that program bugfree or idiomatic, merely correct.)

Understanding how a language works is necessary to programming well in that language, but it is not sufficient. I read the Camel book cover to cover, but I had to read the Perl Cookbook before I could program Perl practically. (I also needed a couple of years of experience before I could call myself an adept programmer, but the only way to get that experience is through experience.)

As Simon Cozens wrote in the introduction to the second edition of Advanced Perl Programming, "advanced Perl programming has become more a matter of knowing where to find what you need on the CPAN, rather than a matter of knowing what to do." His edition reflected that, and I've used that book on two projects this month. Unfortunately, the book is five years old and could only cover a fraction of the CPAN.

It's no secret I'm looking for projects after Modern Perl: The Book comes out. I'm trying to convince Stevan Little and Chris Prather to write a book about the obvious (and if you'd like to read it, please encourage them to do so). I think it's time for a new book on Perl and testing.

I also keep thinking of a bigger goal. The Perl Cookbook is seven years old and doesn't even cover Perl's testing revolution. Don't expect a third edition soon or ever (sic transit gloria animaila libri).

Yet what if there were a wiki of modern Perl idioms or modern Perl solutions which focused on the use of CPAN distributions and generally stayed up to date with both new versions of Perl and new software as it came out? Think of it as an expanded version of Task::Kensho with explanations and sample code crosslinked and organized by topic. I'd use such a resource, if it existed.

I also admit, I'd love to publish a book drawn from that wiki. I'd happily edit the prose. I'd done all author royalties to TPF, and I'd even make a raw PDF available. This author model worked well for other books such as the Python Cookbook. Would anyone else like to see it for Perl?


Love it. I can see myself being OCD enough to contribute updates.

Feels similar in spirit to http://perlsharedhosting.com too.

I'd ++ that. There are already Perl Wikis out there, but none that is really focused on something like this. It'd also be a nice place to gather other resources (blog posts, etc.) for those modules that don't warrant their own project website.

I'd most definitely love a wiki-style Perl cookbook!

I agree, I think Wikis and books complement each other perfectly. Books are out of date the minute they are published, so a wiki can serve to keep them current (not just as an errata, but as an expansion of ideas). Then an edited version of a snapshot of the wiki becomes the next edition of the book.

So, yes, I will buy that book and visit that web site!

What you are talking about here was exactly what I was thinking about when I bought the domains learnmodernperlprogramming.com/net/org and modernperlprogramming.com/net/org. I was thinking that learnmodernperlprogramming.* could be like a wiki that gives existing (possibly perl) programmers a good source of how to use modern features of perl and modernperlprogramming.* could be like a planet that aggregates _ONLY_ articles that deal with modern perl topics.

I also bought learnperlprogramming.net/org (.com was unfortunately taken) and there I was thinking that you could put something like a wiki for people that do not now perl at all (quite similar in context to learn.perl.org). Both of the learn* domains would also have prominent sections with the most current literature in dead tree form for either the beginner or the modern niche.

I'm thinking of all of these pages as more of marketing landing pages that are super-easy to navigate and will allow us to grow our community. So some catchy design would be nice. :)

Now that summer is coming up I will hopefully have some more time on my hands, and building something like this could be fun and worthwhile, but it will obviously need contributors and moderators (for the planet thing).

The domains are nice because they should have a fairly high SEO rating in themselves for the particular search queries that programmers that are not part of the community would use.

PS: None of the domains are currently in use, and they currently just show the default BulkRegister parking page.

Please get in touch if you're interested in doing something with these domain names.

My understanding was that the purpose of the Perl5 wiki was something like that.

I'd like to see a wiki.cpan.org to parallel search.cpan.org. It would be focussed on comparing and contrasting modules from a Neutral Point of View (i.e. the same approach as Wikipedia). Ideally the search.cpan.org page for a module would automatically get links to any mentions of that module on wiki.cpan.org.

search.cpan.org gets ~500,000 'Absolute Unique Visitors' per month (according to google analytics). A well integrated design that made it easy for search.cpan.org visitors to contribute to wiki.cpan.org could harness that interest to produce an amazing resource.

I see this as complementary to the official Perl5 Wiki at http://www.perlfoundation.org/perl5 which is focussed on explaining the perl5 language. Naturally they'd be cross-linking between the two.

Modern Perl: The Book

cover image for Modern Perl: the book

The best Perl Programmers read Modern Perl: The Book.

sponsored by the How to Make a Smoothie guide



About this Entry

This page contains a single entry by chromatic published on May 14, 2010 11:49 AM.

Don't Make the Robot Devil Angry was the previous entry in this blog.

Perl and the Least Surprised is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by the Perl programming language

what is programming?