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
This is a collection of links and resources to Perl Humour.
On CPAN
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.
Lingua::Romana::Perligata
The original joke module. Write Perl in Latin instead of in English.
Acme
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
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.
Acme::EyeDrops
Turn your ugly Perl code into beautiful pictures and UML diagrams!
Acme::Colour
Mix colours in Perl! red + yellow = orange!
Acme::NewMath
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.
Quotes
- Larry Wall Quotes
Random Quotations
- Quotes about Java, Perl, Smalltalk etc. from Sysprog.net
- Wikiquote.org Assorted Quotes about Perl Programming - the Page also contains quotations about other languages.
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
- Perl on Poles - the world's most powerful web development framework
- Perl vs. Python according to Yoda
- Perl vs. Python for a simple XML task.
- "Ways to do it according to the Programming Languages of the World" - Take the Perl motto ("There's more than one way to do it") and extrapolate it to other programming languages.
- Mark Jason Dominus' "Infrequently Asked Questions about Perl"
- "The Cost of Newlines" - also see the replies.
- Eivind's "Why Perl Must Die" - "Perl leads to hashes, hashes lead to hate, hate leads to suffering"
- "The Daily WTF"
- Chuck Norris and Perl 6 - by Shlomi Fish.
- Test Shows 99.99% of High School Seniors Can't Read Perl - a disturbing statistic.
- Larry Wall Facts
- The Lighter Side of Perl Culture - Six part series of articles: Intro, JAPHs, Obfu, Golf, Poetry, April Fools
- The Perl on Rails Conspiracy - a Slashdot Comment.
- About the Jamie Zawinski Quote about Regular Expressions
- "It was Twenty Years Ago Today" - on Perlbuzz, for Perl's 20th Birthday.
- Functional Spec on a CPAN Distribution Classification Proposal - as Functional Specs should be - it aims to be funny. "Microsoft Editing Macros™ Enterprise Edition XP .NET Professional".
- Humorix - "Lawyers To Be Replaced With Perl Scripts"
On use.perl.org
chromatic
rhesa
Ovid
xsawyerx
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
online.
* f00li5h saw that coming
<rindolf> You should learn Perl from "Learning Perl in 24 minutes
Unleashed!"
<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.
Timezone'd
<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
modules
<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. :)
<iank> CPAN IS VERY FUCKING CONVENIENT DO YOU WANT ME TO
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. -
DEAD!
<simcop2387-lap> perl 4 is an EXPERL!
<simcop2387-lap> all statements that perl4 is a going concern are thus
inoperative.
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
##php.
<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?
<mst> ALL PERL IS IMPROPER
<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
<kojiro> ALL PERL IS INCOHERENT
<reflexive> So true.
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
get_ini('magic_quotes_gpc')
<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.
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
on?
<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
implementation.
<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
Norris...
<Zuu> Chuck Norris dont have mightmares
<rindolf> "Confucius e says: 'XSLT made me realise humanity was
hopeless."
<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.
Cartoons
- 0x2121's "Lost in Translation"
- f8d's "Good Fortune"
- UserFriendly's Cartoon from 2008-12-17 - see the previous cartoons for context.
- xkcd's "Regular Expressions"
- xkcd's "Lisp"
- xkcd's With Apologies to Robert Frost
- xkcd's "11th Grade"
- Programmers (via Ovid)
- "How a common LISP programmer views users"
Images
- "New Perl 6 Book Announced" - by Alan. (Original announcement archived at the web archive.)
- Girl with a perl earring
- Difference between Edsger Dijkstra and Larry Wall
Videos
- Microsoft Vista Speech Recognition Tested - Perl Scripting - a huge step forward in programmers' productivity.
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
breaks.
<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
him
<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

