Dual-license your content for inclusion in The Perl 5 Wiki using this HOWTO, or join us for a chat on irc.freenode.net#PerlNet.

Perl Humour

From PerlNet

Jump to: navigation, search

This is a collection of links and resources to Perl Humour.



Most of Perl's amusing modules can be found in the Acme name space. The following are a mere fraction of the available modules, there are many more.


The original joke module. Write Perl in Latin instead of in English.


Acme.pm is a base class for perfect modules. If you sub-class this module when creating your own, it'll be both perfect and spiffy.


Acme::Enc allows you to encrypt your source code so other's can't read it. This really does encrypt your source code, but it's still trivial to unencrypt it, so don't use this to protect "valuable" code.


Turn your ugly Perl code into beautiful pictures and UML diagrams!


Mix colours in Perl! red + yellow = orange!


Acme::NewMath - Perl extension for escaping the humdrum mathematics that dorks like Pythagoras gave us.

Reading from the description:

For thousands of years, we have been plagued by mathematicians insisting that two plus two equals four. Who elected them? I, Stevie-O, am promoting an entirely new system, where two plus two equals FIVE. Eventually, it will be extended to provide other stuff these power-hungry madmen kept hidden away for themselves, such as division by zero, cold fusion, the ability to solve the halting problem, and the secret to attracting hot chicks.

On this site...

Perl Poetry

Perl is such an expressive language that it's even possible to write poetry in it; as has happened since Larry Wall wrote the first Perl poem in 1990. A collection of Perl poems can be found in perlmonk's poetry section. Here's a description of the history of Perl poetry.


Random Quotations

Template Toolkit's Spam

Many people received spam with various template toolkit fields instead of actual headers and content. Here are links to some of their blog entries about it. (Why can't spammers make sure they unit-test their spamming scripts?)

  • ladypine's blog entry about TT Spam
  • Robert Price's Blog
  • Note: there also was an entry about it on O'ReillyNet, by one of the authors of a book that talked about it. Google cannot find it, though. Fill it in if you can.
  • Note: there was also a use.perl.org/ blog entry about it. However, I couldn't find it with google. Fill it in if you can.

Perl Bits

On use.perl.org





From IRC

Books for Learning Perl

    <Alexi5>   what is a good book for getting up to speed with  perl?
    <merlyn>   learning perl!
    <merlyn>   intermediate perl!
   <nachos_>   the camel is the _only book_
   <nachos_>   :-P
           *   merlyn bats nachos silly
   <nachos_>   :-(
   <rindolf>   Alexi5: there's also Beginning Perl, which is available 
           *   f00li5h saw that coming
   <rindolf>   You should learn Perl from "Learning Perl in 24 minutes 
   <f00li5h>   rindolf: "Learning perl in 24 minutes Unleashed, in a 
               nutshell for dummies" is the one i have
   <rindolf>   f00li5h: that's even better.

From Freenode's #perl.


     <x86>  can someone tell me what this epoch translates to in
            %Y-%m-%d format? 1202256000
<integral>  eval: POSIX::strftime("%Y-%m-%d", gmtime(1202256000))
  <buubot>  integral: 2008-02-06
     <x86>  nice!
<integral>  note that if you're not specifying timezone you're in for a
            world of hate
<integral>  err, *pain
    <iank>  s/pain/butter/
    <iank>  I will dump butter on you unless you specify tz.
    <iank>  Also if you do specify tz.
    <iank>  Fuck it, I will dump butter on you, fullstop.
<integral>  don't waste good butter on them, try margarine

From Freenode's #perl.

CPAN is your Friend (or Enemy)

           <x86>  gah
           <x86>  DateTime::Format::Strptime is not one of the core
          <iank>  boo hoo cpan it
       <apeiron>  "i (can't|don't want to) use external modules"
          <iank>  (If only we had some sort of comprehensive archive
                  network.. for perl stuff.. complete with a convenient
                  tool you could use to easily fetch, build, and
                  install modules!)
          <iank>  apeiron: "oh, but you're a dumbass"
          <iank>  "carry on then"
<simcop2387-lab>  iank! i know i'll call it Ruby on Rails!
      <integral>  well, it'd be different if CPAN and CPANPLUS really
                  were convenient.
           <x86>  POSIX::strptime is not a core module either
           <x86>  this sucks
       <apeiron>  Send patches or shut up. :)
                  PUNCH YOU IN THE SPLEEN
      <integral>  apt-get : cpan :: brilliant : annoying
          <iank>  this : pretentious and awkward :: 1 : 1
           <x86>  iank: not so conveinent when you're writing software
                  to be deployed on 100 servers and you dont want to
                  have to install the same module 100 times
      <integral>  bundle it with your app.
          <iank>  x86: stop failing at sysadmining
          <iank>  Or that.
      <integral>  They're also pure-perl so this is very, very trivial.
      <integral>  We have PARs which are jsut like Java's JARs for even
                  more deployability win
          <iank>  woohoo
           <mst>  and people have this retarded obsession with only
                  using core
           <mst>  I mean, anybody who does perl for a living grows out
                  of it pretty fucking fast
           <mst>  but there's always colossal whining the first time
                  you tell someone to get something from CPAN
      <integral>  But due to my last point, PAR isn't as well known as
                  it should be
           <mst>  x86: thanks for being today's example :)

From Freenode's #perl

How much Perl do you need

     <shishirm1>  is pop3 module avaliable only in perl 5?
      <jernster>  are you saying you use something other than 5?
          <icke>  perl 4 didn't even have modules
      <jernster>  heh
       <rindolf>  shishirm1: do you want to use it with Perl 4?
     <shishirm1>  oh ok sorry i am comlete nooob!! so i am just asking
                  you guys
     <shishirm1>  nope is perl 5 a standard now?
      <jernster>  yes
     <shishirm1>  ok great...
      <jernster>  :)
       <rindolf>  shishirm1: Perl 4 is unmaintained, unloved,
                  deprecated, not recommended, and dead - D. E. D. -
<simcop2387-lap>  perl 4 is an EXPERL!
<simcop2387-lap>  all statements that perl4 is a going concern are thus

From Freenode's #perl

PHP, Perl and the meaning of "my"

<milardovich>  with strict it say me this:
<milardovich>  Global symbol "$lorem" requires explicit package name at
               split.pl line 3.
    <rindolf>  milardovich: use "my $lorem = "
    <rindolf>  milardovich: my is your friend.
    <rindolf>  pun not intended.
    <rindolf>  my is my friend.
        <dwu>  Preferably with a real value after "= " ^.^
    <rindolf>  dwu: he already has that.
<milardovich>  that works with my rindolf
<milardovich>  thaks you!!!
    <rindolf>  milardovich: you're welcome.
<milardovich>  :)
     <ubajas>  I wish I had a rindolf too. :-\
<milardovich>  people here are "nicer" than on #php :P
    <rindolf>  ubajas: I'm mass-produced at Chines sweat-shops.
     <ubajas>  hehe
    <rindolf>  ubajas: they sell me for 30 bucks a piece.
    <rindolf>  milardovich: I've heard some horrible stories about
<milardovich>  perl rulz x)
    <rindolf>  milardovich: what brings you to Perl?
 <simcop2387>  rindolf: #php apparantly
    <rindolf>  simcop2387: heh.
    <rindolf>  simcop2387++

Meaning of IP

          *  reflexive huzzahs. His Perl books just arrived.
  <apeiron>  reflexive, Which?
<reflexive>  apeiron: IP and PBP. A couple others are still in transit.
  <apeiron>  reflexive, Nice. :)
<reflexive>  :)
  <rindolf>  reflexive: what is IP?
<reflexive>  Intermediate Perl.
  <rindolf>  reflexive: oh, OK.
  <rindolf>  Intellectual Perl.
  <rindolf>  Internet Perl.
   <kojiro>  Invasive Perl
   <kspath>  Idiot Perl
  <rindolf>  Interactive Perl.
  <rindolf>  I, Perl.
   <kojiro>  Implementing Pies
   <kojiro>  mmm, pie
  <rindolf>  Improbably Perl
   <kspath>  Ignoble Perl
   <kojiro>  Probably Inverted
  <rindolf>  kojiro: :-)
   <kspath>  Improper Perl
<reflexive>  Insidious Perl?
   <kojiro>  API?
  <rindolf>  In Soviet Russia all improper is Perl.
  <rindolf>  APII.
     <qrck>  impudent perl
   <kojiro>  no, you never count words like "is"
   <kspath>  Incoherent Perl
<reflexive>  So true.

Source - Freenode #perl

Geek Pseudo-Sextalk

See "Sextalk According to Perlers" on Shlomi Fish's fortune collection - may be a bit offensive, but also contains some serious Tech-related advice.

Which Prefix do you Want today?

     <mMish>  hi rind
   <rindolf>  Hi mMish
   <rindolf>  mMish: now you're mMish ?
   <rindolf>  mMish: are you eMish, oMish, aMish , etc?
     <mMish>  yes
   <rindolf>  mMish: ah, nice.
     <mMish>  depends on the mood
   <rindolf>  GumbyBRAIN: how many nicks must a one IRCer have?
<GumbyBRAIN>  Oh, i lie, now it's stuck on posting things to do it. You
              said you couldn't have one of many.
   <rindolf>  mMish: ah OK.
   <rindolf>  xMish
   <rindolf>  iMish
   <rindolf>  zMish
   <rindolf>  Like the IBM computers.
   <rindolf>  pMish
     <mMish>  ppszMish <--- HUngarian
   <rindolf>  mMish: LOL.
   <rindolf>  lpstrMish
   <dazjorz>  is lpstr a function?
   <dazjorz>  get_magic_quotes_gpcMish
   <rindolf>  dazjorz: no, Long Pointer to string.
   <dazjorz>  PHP++ :')
   <rindolf>  dazjorz: why?
   <rindolf>  perlbot: karma PHP
   <perlbot>  Karma for PHP: -147
   <LeoNerd>  It takes some nerve to say "PHP++" in #perl :P
   <dazjorz>  rindolf: because they have get_magic_quotes_gpc!
   <dazjorz>  don't we all love get_magic_quotes_gpc!
   <rindolf>  dazjorz: oh.
   <dazjorz>  it's a function
   <rindolf>  dazjorz: love, hate - what's the difference.
   <rindolf>  dazjorz: that does what?
   <dazjorz>  to get the value of magic_quotes_gpc in the config file.
   <rindolf>  dazjorz: ah.
   <dazjorz>  so they have get_magic_quotes_gpc for
   <rindolf>  dazjorz: LOL.
   <dazjorz>  plus, there's the magic_quotes_gpc to escape all input a
              script gets via POST, GET and COOKIE.
   <rindolf>  dazjorz: yes, sounds Evil.
   <rindolf>  Just use placeholders.

Source: Freenode's #perl

Chuck Norris as a Refactorer

<Su-Shee>  2010 is planned more or less as a refactoring year.
<DrForr_>  A whole *year*? What physical plane of existence do you reside
<Su-Shee>  DrForr_: there's also bugs to fix and systems to care for and
           things like that. it's not that we're locked into the closet
           and a year later a new, shiny product is released. ;)
<DrForr_>  Closet optional.
<Su-Shee>  I'm not a wonderwoman refactoring half a million lines of perl
           in a week, sorry. :)
<rindolf>  Su-Shee: Chuck Norris refactors 10 millions lines of perl
           before lunch.
<Su-Shee>  rindolf: hm. that's the reason.. I'm not as hairy as chuck
           norris and I don't have a beard...
<rindolf>  Su-Shee: ah.
<rindolf>  Su-Shee: Chuck Norris also wrote a complete Perl 6
<Su-Shee>  rindolf: I heard, he already wrote Perl 7.
<rindolf>  Su-Shee: yes.
        *  rindolf wants to be as awesome as Chuck when he grows up.
<Su-Shee>  rindolf: I envy you. I'll never be as awesome without a beard.
<rindolf>  Su-Shee: heh.
<rindolf>  Su-Shee: it doesn't matter if you're rigid on the outside as
           long as you're rigid on the inside.
<Su-Shee>  chuck norris doesn't make mistakes.
<rindolf>  Su-Shee: Chuck Norris corrects God.
<Su-Shee>  rindolf: I'll apply as his secretary.
<rindolf>  Su-Shee: as Chuck's?
<Su-Shee>  rindolf: yes.
<rindolf>  Su-Shee: OK.
<rindolf>  Chuck Norris doesn't code. When he sits next to a computer, it
           just does whatever he wants.
<Su-Shee>  I'll tell my boss tomorrow. Chuck is who he wants.
<rindolf>  Su-Shee: Chuck Norris is his own boss.
<rindolf>  Su-Shee: if you hire him, he'll tell your boss what to do.
<Su-Shee>  good point.

From Freenode's #perl

XSLT Facts - Why XSLT is Evil

               -->  xmler has joined ##programming
           <xmler>  Hi
           <xmler>  How can I do <a href="$variable">blah</a> in XSLT?
         <rindolf>  xmler: you can use <xsl:attribute>
         <rindolf>  xmler: or use ${...}
         <rindolf>  xmler: have you read the Zvon XSLT tutorial?
           <xmler>  rindolf: I've read various resources; perhaps it's
                    the fault of XML::XSLT on CPAN
         <rindolf>  xmler: use XML::LibXSLT instead.
         <rindolf>  It's faster and better.
             <Zuu>  <insert mean statement about XSLT>
             <Zuu>  :)
         <rindolf>  "XSLT is the work of Satan"
         <rindolf>  "It's the worst thing since non-sliced bread."
             <Zuu>  Hahaha :D
         <rindolf>  "Mothers used to tell their children about XSLT to
                    scare them."
           <xmler>  Haha
             <Zuu>  That last one is good
           <xmler>  XSLT seems pretty cool
             <Zuu>  xmler, no no, that's not mean
             <Zuu>  you're doing it wrong
             <Zuu>  :P
           <xmler>  XSLT is too cool to be mean to :p
             <Zuu>  Hehe
         <rindolf>  "XSLT is the number one cause of programmers'
                    suicides since Visual Basic 1.0"
<tommy_the-dragon>  lol
             <Zuu>  :>
             <Zuu>  I could believe in that
         <rindolf>  "The X in XSLT stands for eXtermination."
         <rindolf>  "XSLT makes the baby jesus cry."
         <rindolf>  "The only things worse than XSLT are Excel and
                    sugarless tea."
<tommy_the-dragon>  rofl
                 *  Zuu kinda likes Excel
         <rindolf>  Zuu: yes, it was a joke.
             <Zuu>  Noooh!
             <Zuu>  they are all true!
         <rindolf>  Now I'm out of ideas.
             <Zuu>  i havent even had a single idea yet..
         <rindolf>  "XSLT is what Chuck Norris has nightmares of."
             <Zuu>  Whoah!
             <Zuu>  wait.. that would somehow make XSLT cooler than Chuck
             <Zuu>  Chuck Norris dont have mightmares
         <rindolf>  "Confucius e says: 'XSLT made me realise humanity was
             <Zuu>  "Even APL wont make friends with XSLT"
             <Zuu>  yay, i maded one!
         <rindolf>  "God considered using XSLT as the tenth plague of
                    Egypt, but thought it was too evil."
         <rindolf>  Zuu: :-)
             <Zuu>  Haha :D
             <Zuu>  that plauge one is awesome
         <rindolf>  "In Soviet Russia, XSLT codes you. Badly!"
         <rindolf>  "Satan condemned Hitler for a million years of
                    writing XSLT"
         <rindolf>  OK, back to work.
         <rindolf>  C - not XSLt.
             <Zuu>  :)
         <rindolf>  "The KGB used to torture their victims by having them
                    look at scrolling XSLT code"
           <xmler>  rindolf: lol, love the KGB + XSLT one
           <xmler>  rindolf: by the way, what's with the XSLT hate by the
                    way, is it some kind of meme? :p
                 *  Zuu gives xmler an XSLT interpreter written in XSLT
        <Jck_true>  I wanna make ASM code from XSLT
         <rindolf>  "My name is Inigo Montoya. You forced my father to
                    write XSLT. Prepare to die! And be thankful I don't
                    force you to write XSLT."
           <xmler>  Ah for gawd's sake. Can't install XML::LibXML, it
                    says I don't have libxml2 (I do)
         <rindolf>  xmler: do you have the -devel package?
         <rindolf>  xmler: what is your distro?
         <rindolf>  OS distro I mean.
           <xmler>  rindolf: Debian 4.0
           <xmler>  Ooh, perhaps I don't actually
         <rindolf>  xmler: ok, then apt-get install libxml-libxslt-perl
                 *  Zuu have to go o/
         <rindolf>  xmler: maybe we should discuss it on #perl?
         <rindolf>  Zuu: bye
         <rindolf>  Zuu: and beware of stray XSLT code.
             <Zuu>  I will :P
         <rindolf>  Zuu: OK.
           <xmler>  rindolf: sure, uno memento :)
   -- Chuck Norris is out! XSLT is in!
   -- ##programming, Freenode

From Freenode's ##programming.




Perl 6

Chuck Norris and Perl 6

    <rindolf>  wankit
     <buubot>  Perl 6, unlike most people, is able to breathe in the
               vacuum of space. In fact, anything else would damage its
               respiratory system. Because of this, whenever it's
               visiting Earth, it wears a respirator, which resembles a
               kickass beard.
    <rindolf>  Heh heh.
    <rindolf>  Are all of buubot's wankit factoids about Perl 6?
    <rindolf>  He should have some about Chuck Norris, too.
     <merlyn>  fictional factoids about a partially designed, partially
               implemented, partially wanted language. :)
    <rindolf>  merlyn: yeah.
     <merlyn>  Heh - those are all Chuck Norris quotes with s/Chuck/P6/
<dabreegster>  rindolf: It's written in Chuck Norris, right
     <merlyn>  Chuck Norris writes code in Perl 6. Before Larry's done.
               And it works.
    <rindolf>  merlyn: Chuck Norris wrote Perl 6 in a day but then
               destroyed all evidence with his bare hands, so no one
               will know his secrets.

   -- FreeNode's #perl.

Chuck Norris as a Pugs Committer

    <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'
   Chuck Norris Perlsixifies at FreeNode's #perl6 channel.

Perl 6 and Vapourware

  <anonuser>  You know for when they finally decide to release that
              programatic abortion they call perl 6
   <rindolf>  anonuser: on Christmas.
   <rindolf>  anonuser: don't know which one.
   <rindolf>  anonuser: you can download pugs and play with it.
  <anonuser>  rindolf, The running joke I have with friends is
              that Duke Nukem Forever (DNF) is being written in Perl6
   <rindolf>  anonuser: it's an old joke.
  <anonuser>  rindolf, DNF and Perl6 together is an old joke?
   <rindolf>  anonuser: yeah.
   <rindolf>  anonuser: "Perl 6 is the language Duke Nukem Forever will
              be written in."
   <rindolf>  Well, it's not too old, but it's a meme.
<Aji-Dahaka>  rindolf: I'm the guy who's going to port DNF from
              GNU/Hurd to FreeBSD

From Freenode's ##freebsd.

Perl 10

    <ubajas>  Technically, my first language was Turbo Pascal, but I
              started over with Perl 10 years later (not having
              programmed in the meantime). I'm obviously damaged goods.
      <iank>  ubajas: heh, I read that as "I started with (perl 10)
              (years later)" instead of "I started with perl (10 years
              later)" :)
   <rindolf>  Perl 10!
   <rindolf>  Perl for the Fourth Millenium.
  <jagerman>  I thought Perl 6 was supposed to be timeless
    <ubajas>  iank: Maybe I should have added a comma. :-]
  <jagerman>  Perl ∞
      <iank>  perl6 has existed since the beginning of time, or at
              least it will have existed since then once $Larry finds a
              time machine.
<simcop2387>  iank: i'm sorry but larry is the prophet i am the
              messanger! i will be the one to take it back!
      <iank>  WHAT.
<simcop2387>  iank: its MY TIME MACHINE!
           *  iank smacks simcop2387 around
  <jagerman>  iank: So it'll be like that Star Trek episode, where they
              say that the development of computers are caused by time
              travel from the future?
  <jagerman>  Except that they were too stupid (like most Voyager
              writers) to get their facts right, and thought computers
              started in the 70s

From Freenode's #perl.

More about Chuck Norris and Perl 6

 <Su-Shee>  rindolf: yes, I played with Squeak a little and yes I'd like
            a vim clone written in perl.
 <Makoryu>  Why isn't there one already, then?
 <Makoryu>  (A vim clone in Perl)
 <Su-Shee>  good question. there's one in javascript :)
 <rindolf>  Su-Shee: actually , it's a vi clone.
 <rindolf>  Writing a vi clone is much easier than writing a vim clone.
 <rindolf>  Just like writing a Scheme clone is much easier than writing
            a Perl 6 implementation.
 <rindolf>  Unless you're Chuck Norris.
 <Su-Shee>  rindolf: darn.. he already wrote a vim in perl6?
 <moritz_>  no, he scared K&R into writing it ;-)
 <rindolf>  Su-Shee: Chuck Norris is the ghost author of the entire
            Debian GNU/Linux distribution.
 <rindolf>  Su-Shee: and he wrote it in 24 hours, while taking snack
 <Su-Shee>  rindolf: yes, I know - he published slackware under the
            pseudonym patrick volkerding...
 <rindolf>  Chuck Norris read the entire Wikipedia. Twice.
  <araujo>  the second time includes fixing all its errors
 <moritz_>  but he didn't commmit his changes, it seems
 <rindolf>  moritz_: heh.
 <rindolf>  LOL.
  <araujo>  Chuck Norris doesn't commit changes, the changes commit for
  <araujo>  :)
 <rindolf>  Code is too scared of Chuck to be wrong.
 <rindolf>  It is generated right in the first time.
 <rindolf>  Bugs are too afraid to reproduce on Chuck Norris' computer.
 <Su-Shee>  .o(I see a chuck norris release on the horizon... ;)
 <rindolf>  Su-Shee: :-)
 <Su-Shee>  we could ask chuck norris if he's willing to promote the star
            release.. ;)) (which probably kill the entire internet due to
            laughter.. :)
  <araujo>  Perl 6 - A Chuck Norris like language
<dukeleto>  Chuck Norris has actually been using Perl 6 since 1987, and
            has been waiting for Larry to play catch-up. :)
 <rindolf>  dukeleto: LOL.
 <rindolf>  Perl 6 - Kicks ass like Chuck.
 <Su-Shee>  rakudo - chuck's choice ;)
 <Su-Shee>  well, camelia and chuck norris go well together. ;)
 <rindolf>  OK.
 <rindolf>  Of course everybody know Chuck Norris is a real programmer.
 <rindolf>  He designs machines by combining individual atoms.
 <rindolf>  Using his thought.
 <rindolf>  Atoms obey Chuck Norris.
 <Su-Shee>  rindolf: you obviously have been starved and deprived of
            super hero comics in your childhood :)

-- From Freenode's #perl6