• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • CasePointer

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    Top 7 Funniest Perl Modules

    Jeff Boes

    By Jeff Boes
    November 4, 2015

    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:

    jeff@Wyvern:~$ perl bin/eyedrops.pl
    1 shapes completed.
    use re 'eval';
                                          ''=~('('.'?'
               .'{'.(                   '`'|'%').("\["^
            '-').('`'|                '!').('`'|',').'"'
     .('['^'+')  .('['^              ')').('`'|')').('`'|
    '.').('['^'/').('{'^            '[').'\\'.'"'.('`'|'('
    ).('`'|'%').('`'|',')          .('`'|',').('`'|"\/").(
      '{'^'[').('['^',').        ('`'|'/').('['^')').("\`"|
           ',').('`'|'$')      .'\\'.'\\'.('`'|'.').'\\'.'"'
          .';'.('!'^'+')     .'"'.'}'.')');$:='.'^'~';$~='@'|
         '(';$^=')'^'[';   $/='`'|'.';$,='('^'}';$\='`'|'!';$:
        =')'^'}';$~='*'   |'`';$^='+'^'_';$/='&'|'@';$,='['&'~';
        $\=','^"\|";$:=  '.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.'
        ;$,='('^'}';$\  ='`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_'
        ;$/='&'|'@';$,  ='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'(';
        $^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~=
        '*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=','^'|';$:='.'^
         '~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!'
         ;$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=
          ','^'|';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^
           '}';$\='`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@'
            ;$,='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'(';$^="\)"^ '['
             ;$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}';$~='*'  |((
              '`'));$^='+'^'_';$/='&'|'@';$,='['&'~';$\ =','^'|'  ;$:
                ='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|  '.';$,=   '('
                 ^'}'; $\='`'|'!';$:=')'^'}';$~="\*"|   '`';$^=   '+'
                       ^'_';$/='&'|'@';$,='['&'~';$\    =(',')^   '|'
                       ;$:='.'^    '~';$~='@' |"\(";     $^=')'   ^+
                       '[';$/=     '`'|'.';   $,='('     ^"\}";  $\
                       =('`')|     "\!";$:=   "\)"^       "\}";  (
                       ($~))=      '*'|'`';   ($^)         ='+'
                       ^"\_";     $/=('&')|   '@';         ($,)
                        ='['&     "\~";$\=    ','^         '|';
                        ($:)=     '.'^'~'     ;$~=         '@'|
                        '(';     $^=')'       ^'['         ;$/=
                        '`'|     '.'          ;$,=         '('^
                        '}';      $\=         '`'          |((
                        '!'        ));       $:=           ')'
                        ^((         '}'     ));            $~=
                        '*'          |((   '`'              ))
                        ;(             ($^))=               ((
                        ((              '+'))               ))
                        ^+             "\_";$/=             ((
                       '&'            ))|+ "\@";            $,
                      =((           '['))&  '~';           $\=
                     ','^         "\|";$:=   '.'          ^'~'
                   ;($~)=                                ('@')|
                 "\(";$^=                               ')'^'['
    

    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 sanity.pm, 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. Moose*

    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!

    perl


    Comments