<?xml version="1.0" encoding="windows-1252"?>
<node id="410774" title="The Lighter Side of Perl Culture (Part I): Introduction" created="2004-11-27 23:30:53" updated="2005-08-11 18:10:55">
<type id="120">
perlmeditation</type>
<author id="176576">
eyepopslikeamosquito</author>
<data>
<field name="doctext">
&lt;P&gt;
This meditation introduces a series of articles on the history
of the lighter side of Perl culture.
&lt;/P&gt;

&lt;P&gt;
Somewhat arbitrarily, I've categorized the lighter side of Perl culture
as follows:
&lt;/P&gt;

&lt;P&gt;
  &lt;ul&gt;
    &lt;li&gt; Joke Modules
    &lt;li&gt; Mailing List Theatre
    &lt;li&gt; [id://412464|JAPHs]
    &lt;li&gt; [id://424355|Obfus]
    &lt;li&gt; [id://437032|Golf]
    &lt;li&gt; [id://451207|Poetry]
    &lt;li&gt; [id://540609|April Fools]
  &lt;/ul&gt;
&lt;/P&gt;

&lt;P&gt;
This first installment covers the first two categories above.
Later categories are covered in later installments.
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;Joke Modules&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
Much of Perl's culture derives from earlier practice in other
programming languages.
Perl Obfus, for example, carry on the grand tradition of the
&lt;a href="http://www.ioccc.org/"&gt;International Obfuscated C competitions&lt;/a&gt;
of the 1980s.
Indeed, a certain L.Wall was a prominent
&lt;a href="http://www.ioccc.org/winners.html"&gt;place-getter&lt;/a&gt;
in these early IOC competitions --
though, contrary to persistent rumour, he did not submit the Perl C sources
(principally because they exceeded the 1K limit).
Golf too was informally played by APL enthusiasts in the 1960s,
as indicated by
[id://81870|this famous 1972 Edsger Dijkstra quote].
&lt;/P&gt;

&lt;P&gt;
But what of Perl's Joke Modules? Are they truly unique to Perl culture?
Though I'm not aware of Joke Modules being written in other programming
languages, I'd love to hear about any you may know of.
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;What was the first Perl Joke Module?&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
Dredging through some old fwp emails,
I believe the first Perl joke script was written in 1989 or 1990
and was a cousin of [merlyn]'s
&lt;a href="http://backpan.cpan.org/authors/Randal_L_Schwartz/sh2perl-0.04.readme"&gt;sh2perl&lt;/a&gt;
that emailed your shell script to either comp.lang.perl
or Tom Christiansen, asking for a Perl version to be written.
&lt;B&gt;Update:&lt;/B&gt; This early variation of sh2perl seems to be an urban myth (see responses from [brian_d_foy] and [merlyn] below).
Around that time, Ian Phillipps posted a joke perl program-generator
that invited you to select a function for a program;
all it did was post to c.l.p. with a title of
"I don't think perl can $title", with Followups-to 'poster'.
In those days, there were plenty of Perl zealots eager to prove
that Perl could indeed do it!
Verifying the above claim is problematic due to the
disastrous convex disk pack crash of '89 (the
original Perl mailing list archives and the early c.l.p archives
have been lost for all time due to a disk pack crash at convex, where they were kept at the time).
&lt;/P&gt;

&lt;P&gt;
If you disqualify these early versions of sh2perl
(on the grounds that they were scripts, not modules),
then perhaps the earliest Perl Joke module is less.pm,
written almost certainly by L. Wall around 1994.
This charming module has the further distinction of being the only joke module
in the Perl core.
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;The pre-Acme Years&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
Before the Acme namespace was born in 2001, there were a number of
Joke Modules released, notably:
&lt;/P&gt;

&lt;P&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://search.cpan.org/dist/D-oh/"&gt;D'oh by C.Nandor&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://backpan.cpan.org/authors/Randal_L_Schwartz/sh2perl-0.04.readme"&gt;sh2perl by R.Schwartz&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://perl.plover.com/#identity"&gt;Addition.pm/Identity.pm by MJD&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://search.cpan.org/dist/Coy/"&gt;Coy by D.Conway&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://search.cpan.org/dist/Semi-Semicolons/"&gt;Semi::Semicolons by M.Schwern with inspiration from the lovely David Adler Esquire and Ziggy&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://search.cpan.org/dist/Sex/"&gt;Sex by M.Schwern&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://search.cpan.org/dist/Symbol-Approx-Sub/"&gt;Symbol::Approx::Sub by D.Cross&lt;/a&gt;
  &lt;/ul&gt;
&lt;/P&gt;

&lt;P&gt;
Though I suspect this top-level namespace trampling irritated the CPAN bigwigs,
there were not enough of these modules to
provoke them to do anything about it.
The Silly:: namespace was thought up, but, mercifully, never caught on,
only a couple of really silly modules employing that awful name.
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;The Acme Namespace&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
Within a few months of [TheDamian] releasing
&lt;a href="http://search.cpan.org/dist/Acme-Bleach/"&gt;Bleach&lt;/a&gt;
on Feb 21, 2001 there were a gaggle of modules
all doing that sort of thing
(update: see [id://967004] for more detail).
All these new top-level modules are now &lt;I&gt;really&lt;/I&gt; annoying the CPAN bigwigs.
Yet [TheDamian] manages to placate them by sending out a plea
to all joke module authors in mid-May:
&lt;/P&gt;

&lt;blockquote&gt;
&lt;I&gt;I think we should make the top-level namespace genuinely
amusing in its own right...and a source of future opportunities for
humour too. To that end, I propose that we all migrate our modules to
the Acme:: namespace.&lt;/I&gt;
&lt;/blockquote&gt;

&lt;P&gt;
Thus Acme:: was born.
As indicated
[id://967004|here],
Acme:: is derived &lt;I&gt;not&lt;/I&gt; from [acme] aka Leon Brocard, but from
&lt;a href="http://en.wikipedia.org/wiki/Road_Runner_cartoon"&gt;Wile E. Coyote&lt;/a&gt;.
BTW, Leon gave a
nice talk on the Acme Modules
at YAPC::Europe 2002.
&lt;/P&gt;

&lt;P&gt;
Since that time, the
&lt;a href="http://search.cpan.org/search?query=Acme&amp;mode=module"&gt;Acme&lt;/a&gt;
namespace has grown steadily, today boasting over
100 modules: a unique achievement in the world of computer programming.
Some Joke Modules that are popular here at the Monastery can be found in
[id://400469].
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;Mailing List Theatre&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
By &lt;I&gt;Mailing List Theatre&lt;/I&gt;, I mean the humorous -- and often theatrical -- exchanges
occurring in Perl cyberspace: on newsgroups, bulletin boards, mailing lists,
Perl Monks and the like.
&lt;/P&gt;

&lt;P&gt;
These humorous exchanges took place from Perl's earliest days --
especially when L.Wall was responding to R.Schwartz.
As for identifying the first, that seems problematic because the
original Perl mailing list archives and the early c.l.p archives
have been lost for all time due to a disk pack crash at convex
(where they were kept at the time).
&lt;/P&gt;

&lt;P&gt;
Anyway, here's a random selection that I found amusing:
&lt;/P&gt;

&lt;P&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="http://groups.google.com/groups?selm=1991Apr29.072206.5621%40jpl-devvax.jpl.nasa.gov"&gt;Larry plays golf with himself (and Randal)&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://groups.yahoo.com/group/perl-beginner/message/18376"&gt;merlyn and the 5000-line perl-4 style "auction" script&lt;/a&gt;
    &lt;li&gt;&lt;a href="http://web.archive.org/web/20010714061728/http://www.cookwood.com/cgi-bin/lcastro/perlbbs.pl?read=4700"&gt;BK coins "use strict is gay"&lt;/a&gt; (provoked by Piers, Richard and Perl's answer to George Clooney, davorg) (courtesy of &lt;a href="http://www.archive.org"&gt;The Wayback Machine&lt;/a&gt; and inspiring &lt;a href="http://search.cpan.org/dist/Acme-USIG/"&gt;Acme::USIG&lt;/a&gt;). Update: in case the Wayback machine link above breaks, you can see the original text [id://960075|here].
    &lt;li&gt; &lt;a href="http://www.mail-archive.com/london.pm@london.pm.org/msg08010.html"&gt;London.pm declares war on Paris.pm&lt;/a&gt; (alternate &lt;a href="http://web.archive.org/web/20030501170308/http://london.pm.org/pipermail/london.pm/Week-of-Mon-20020923/013793.html"&gt;archive.org link&lt;/a&gt;)
    &lt;li&gt; &lt;a href="http://www.mail-archive.com/london.pm@london.pm.org/msg14132.html"&gt;Leon ponders what to do with Elaine's bra&lt;/a&gt; (alternate &lt;a href="http://web.archive.org/web/20040329142259/http://london.pm.org/pipermail/london.pm/Week-of-Mon-20030811/020791.html"&gt;archive.org link&lt;/a&gt;)
    &lt;li&gt;&lt;a href="http://nntp.perl.org/group/perl.golf/167"&gt;`/anick "explains" how to do anagrams in French via Tourist.pm&lt;/a&gt;
    &lt;li&gt;[id://331863] Abigail teases [BrowserUk] about bookmaking in &lt;I&gt;The Land of the Dry Towel&lt;/I&gt;
  &lt;/ul&gt;
&lt;/P&gt;

&lt;P&gt;
Please forgive me for missing many funny exchanges out there
and here at the Monastery.
And please feel free to pipe up with your own favourites.
&lt;/P&gt;

&lt;P&gt;&lt;B&gt;Links&lt;/B&gt;&lt;/P&gt;

&lt;P&gt;
 &lt;ul&gt;
  &lt;li&gt; [id://412464]
  &lt;li&gt; [id://424355]
  &lt;li&gt; [id://437032]
  &lt;li&gt; [id://451207]
  &lt;li&gt; [id://540609]
  &lt;li&gt; [id://967004]
  &lt;li&gt; [id://414465]
  &lt;li&gt; [id://129726]
  &lt;li&gt; [id://156816]
  &lt;li&gt; [id://199426]
  &lt;li&gt; [id://756792]
  &lt;li&gt; &lt;a href="http://perl.plover.com/IAQ/IAQlist.html"&gt;perliaq: MJD's infrequently asked questions about Perl&lt;/a&gt;
 &lt;/ul&gt;
&lt;/P&gt;

&lt;P&gt;
&lt;/P&gt;

&lt;P&gt;
&lt;small&gt;
Updated 3-May-2008: Fixed broken links. Reorganized material. 25-April-2012: corrected Bleach release date (Apr 1 2001 -&gt; Feb 21 2001), added [id://967004] link.
&lt;/small&gt;
&lt;/P&gt;

</field>
</data>
</node>
