Welcome to End Point’s blog

Ongoing observations by End Point people

Top 7 Funniest Perl Modules

And now for something completely different ...

Programmers in general, and Perl programmers in particular, seem to have excellent, if warped, senses of humor. As a result, the CPAN library is replete with modules that have oddball names, or strange and wonderful purposes, or in some delightful cases -- both!

Let's take a look.

  1. Bone::Easy
    I'm going to take the coward's way out on this one right away. Go see for yourself, or don't.
  2. Acme::EyeDrops
    Really, anything in the Acme::* (meaning "perfect") namespace is just programmer-comedy gold, depending on what you find amusing and what is just plain forehead-smacking stupid to you. This one allows you to transform your Perl programs (small ones work better) from this:
    print "hello world\n";
    to this:
    Oh, that's not just a picture of a camel. That's actual Perl code; you can run that, and it executes in the exact same way as the original one-liner. So much more stylish. Plus, you can impress your boss/cow-orker/heroic scientist boyfriend.
  3. common::sense
    This one makes the list because (a) it is just so satisfying to see
      use common::sense;
    atop a Perl program, and (b) a citation of this on our company IRC chat is what planted the seed for this article.

    Another is, as in "use sanity;". Seems like a good approach.
  4. Silly::Werder
    Not a terribly interesting name, but it produces some head-scratching output. For instance,
    Broringers isess ailerwreakers paciouspiris dests bursonsinvading buggers companislandet despa ascen?
    I suppose you might use this to generate some Lorem ipsum-type text, or maybe temporary passwords? Dialog for your science fiction novel?
  5. Any module with the word "Moose" in it. "Moose" is a funny word.
  6. D::oh
    The humor here is a bit obscure: you have to have been around for Perl4-style namespace addressing, when you would have had to load this via:
    use D'oh;
  7. your
    As in:
    use your qw($wits %head @tools);
    Here the name is the funny bit; the module itself is all business.

Well, that seems like enough to get you started. If you find others, post them here in the comments!


Dave Cross said...

Tie::Hash::Cannabinol ( always made me laugh - but I'm slightly biased.

James Morgan said...

I highly recommend reading the Limitations section of the Don't module

If only for the realization that there are things even Damien Conway won't try to make Perl do.