Your Daily Dose of Incoherent Perl Humour

Shlomi Fish shlomif at
Tue Apr 17 17:36:33 BST 2007

Hello birds and blokes!

As promised I'm now sending an on-topic (or is it off-topic) post about Perl 
Humour, or at least what I hope is in fact humour. Without further ado here 

1. Larry Wall Facts:

I've been talking to an Israeli Ruby developer without a lot of Perl 
experience. He's been making jokes about Perl, but none of them were funny. 
However, I often find the jokes the Perl'ers make on Freenode's #perl very 
funny. So my guess is that he doesn't really understand Perl well.

He also didn't understand these "Larry Wall Facts":

( )

* Larry Wall can understand the Perl code he wrote last year.

* Larry gets the colon.

* There are at least 137 Larry Walls in the U.S. but only one that matters.

* Larry Wall applies a patch manually quicker than GNU patch.

* Larry Wall dreams in Perl.

* Larry Wall can program in his sleep.

* Larry Wall is lazy, impatient and full of hubris.

* Larry Wall has more dollars in the bank than in his Perl code.

Now, I find them funny, but it may be only because I invented them. I'll 
appreciate any additions.


2. Chuck Norris and Perl 6

This was recorded on #perl6:

    <rindolf>  ajs: perhaps Chuck Norris would be a useful addition to
               the Pugs and Parrot teams.
        <ajs>  rindolf: If Norris can write, give him a commit bit, and
               tie him to a keyboard ;)
 <FurnaceBoy>  I thought he already had commit
      <daxim>  Chuck Norris commits with a roundhouse kick into the SVN
               server's head
            *  FurnaceBoy chuckles
        <ajs>  daxim: If you can get that to pass the test suite, then
               more power to you!
 <FurnaceBoy>  Chuck *is* the test suite
    <Kattana>  chuck norris does not code, when he sits at a
               computer, it just does whatever he wants.
    <rindolf>  Kattana: :-)
      <daxim>  ah, we're easy to amuse
        <ajs>  Be the test suite, Chuck... BE the test suite.
 <FurnaceBoy>  you gotta pass 'make chuck'


3. The Cost of Newlines:

On Freenode #perl:

     <rindolf>  sleeper: why are people obsessed with one-liners?
     <rindolf>  It takes 3 lines - OMG what a disaster!
       <Botje>  rindolf: newline prices went up again
     <rindolf>  Botje: I buy my newlines in the black market
 <dabreegster>  Botje: again? drat.
             *  Botje reports rindolf to the newline police
 <dabreegster>  Botje: I know about an... (underground) operation going on to
                pirate newlines.
     <rindolf>  Botje: I bribed a few cops in the newline police, but nice              
 <dabreegster>  Botje: Some crazy guys are trying to free newlines from 
                patents! They want to rid the market!
             *  cursor gets called up to serve in the newline jury
     <rindolf>  I think we need to start a campaign to lift all restrictions 
                off newlines.
 <dabreegster>  rindolf: La Resistance lives on!\n
       <Botje>  I already stockpiled millions of newlines
 <dabreegster>  Botje: We can have the one-liners destroyed by sundown
 <dabreegster>  Not destroyed, but... TURNED INTO TWO-LINERS! Mwuhahaha!


4. Perl 6 Mottos:

Some Perl 6 facts (don't take too seriously):

* Perl 6 - all your paradigms are belong to us. (not mine)

* Perl 6 would be a wonderful language. Too bad it isn't going to be Perl. 
(mine sort of, by inspiration from what was said on Fortran '90)

* Perl 6 - the second system effect done right. (lwall's).

* Perl 6 is the language Duke Nukem Forever will be written in. I'm going to 
be the one who will port it from GNU/Hurd to FreeBSD. (old joke, I know).

* Perl 6 - there are too many ways to do it.


5. "Ways to do it according to the programming languages of the world"

I wrote this piece originally and published it here:

Now someone took it from there and published it on a Ruby wiki under humour, 
only changing the Perl description, and adding a few not-so-funny-IMHO 
additions of his own. It was slightly revised, since its inception.


* Perl - There's more than one way to do it. 
* C++ - There are 5 ways to do it, 3 out of which are not supposed to work. 
* Visual Basic - The only way to do it is to use a third party component. 
* ANSI C - There is usually one way to do it, but there's more than one way to    
  optimise it. 
* Java - There's barely one way to do it. (But as opposed to C++ it is  
  guaranteed to work.) 
* Python - There's only one way to do it. The one true way of doing it. And 
  then there are others. 
* COBOL - The only way to do it is to use something else. 
* Common LISP - There is a infinite series of ways to do it, increasing in 
  elegance, and decreasing in legibility. 
* Scheme - There are several ways to do it, but you have to chart all of them   
* Haskell - You can think of any number of ways to do it, but only one will 
  have a reasonable time or space complexity. 
* Forth - There are several ways to write it, but no way to read it. 
* HTML - There are many ways to do it. Most of them should be avoided at all 
  costs, and the other ones should better be generated with something else. 
* The C Preprocessor - There's not supposed to be a way to do it. 
* Fortran - there isn't a way to do it... oh wait! Now there is. 
* Bash - There are several ways to do it. Now one has to find a way to decide 
  which way to do it. 
* C Shell - The only way to do it does not work. 
* zsh - There's at least one way to do anything.


I'm sorry if you're already familiar with these things. However, I found that 
I can often read funny bits and stories time and again, and still remain 
really amused.

May the Schwartz be with you!


	Shlomi "Slimy" Fish

Shlomi Fish      shlomif at

If it's not in my E-mail it doesn't happen. And if my E-mail is saying
one thing, and everything else says something else - E-mail will conquer.
    -- An Israeli Linuxer

More information about the mailing list