Obfuscated Perl Contest

Last updated

The Obfuscated Perl Contest was a competition for programmers of Perl which was held annually between 1996 and 2000. Entrants to the competition aimed to write "devious, inhuman, disgusting, amusing, amazing, and bizarre Perl code". [1] It was run by The Perl Journal and took its name from the International Obfuscated C Code Contest. [2]

Contents

Contest

The entries were judged on aesthetics, output and incomprehensibility. One entrant per year received the Best of Show award. Entrants were advised to try and demonstrate a range of Perl knowledge, while being humorous, surprising and deceitful. Code which purposely crashed the judges' machines was discouraged.

The competition was typically divided into four categories, which, in the last contest, included:

See also

Related Research Articles

Just another Perl hacker, or JAPH, typically refers to a Perl program that prints "Just another Perl hacker,". Short JAPH programs are often used as signatures in online forums, or as T-shirt designs. The phrase or acronym is also occasionally used for a signature.

<span class="mw-page-title-main">Larry Wall</span> American computer programmer and author

Larry Arnold Wall is an American computer programmer and author. He created the Perl programming language.

<span class="mw-page-title-main">Obfuscation (software)</span> Deliberate creation of difficult-to-understand code

In software development, obfuscation is the act of creating source or machine code that is difficult for humans or computers to understand. Like obfuscation in natural language, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter reverse engineering, or even to create a puzzle or recreational challenge for someone reading the source code. This can be done manually or by using an automated tool, the latter being the preferred technique in industry.

<span class="mw-page-title-main">Perl</span> Interpreted programming language first released in 1987

Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was officially changed to Raku in October 2019.

<span class="mw-page-title-main">International Obfuscated C Code Contest</span> Computer programming contest

The International Obfuscated C Code Contest is a computer programming contest for the most creatively obfuscated C code. Held annually, it is described as "celebrating [C's] syntactical opaqueness". The winning code for the 27th contest, held in 2020, was released in July 2020. Previous contests were held in the years 1984–1996, 1998, 2000, 2001, 2004–2006, 2011–2015 and 2018–2020.

<span class="mw-page-title-main">Randal L. Schwartz</span> American programmer and technology writer

Randal L. Schwartz, also known as merlyn, is an American author, system administrator and programming consultant. He has written several books on the Perl programming language, and plays a promotional role within the Perl community. He was a co-host of FLOSS Weekly.

An esoteric programming language is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language, or as a joke. The use of the word esoteric distinguishes them from languages that working developers use to write software. The creators of most esolangs do not intend them to be used for mainstream programming, although some esoteric features, such as visuospatial syntax, have inspired practical applications in the arts. Such languages are often popular among hackers and hobbyists.

<span class="mw-page-title-main">Brute-force attack</span> Cryptanalytic method for unauthorized users to access data

In cryptography, a brute-force attack consists of an attacker submitting many passwords or passphrases with the hope of eventually guessing correctly. The attacker systematically checks all possible passwords and passphrases until the correct one is found. Alternatively, the attacker can attempt to guess the key which is typically created from the password using a key derivation function. This is known as an exhaustive key search.

<i>Programming Perl</i>

Programming Perl, best known as the Camel Book among programmers, is a book about writing programs using the Perl programming language, revised as several editions (1991-2012) to reflect major language changes since Perl version 4. Editions have been co-written by the creator of Perl, Larry Wall, along with Randal L. Schwartz, then Tom Christiansen and then Jon Orwant. Published by O'Reilly Media, the book is considered the canonical reference work for Perl programmers. With over 1,000 pages, the various editions contain complete descriptions of each Perl language version and its interpreter. Examples range from trivial code snippets to the highly complex expressions for which Perl is widely known. The camel book editions are also noted for being written in an approachable and humorous style.

<i>Learning Perl</i>

Learning Perl, also known as the llama book, is a tutorial book for the Perl programming language, and is published by O'Reilly Media. The first edition (1993) was authored solely by Randal L. Schwartz, and covered Perl 4. All subsequent editions have covered Perl 5. The second (1997) edition was coauthored with Tom Christiansen and the third (2001) edition was coauthored with Tom Phoenix. The fourth (2005), fifth (2008), sixth (2011), and seventh (2016) editions were written by Schwartz, Phoenix, and brian d foy. According to the 5th edition of the book, previous editions have sold more than 500,000 copies.

<span class="mw-page-title-main">Delimiter</span> Characters that specify the boundary between regions in a data stream

A delimiter is a sequence of one or more characters for specifying the boundary between separate, independent regions in plain text, mathematical expressions or other data streams. An example of a delimiter is the comma character, which acts as a field delimiter in a sequence of comma-separated values. Another example of a delimiter is the time gap used to separate letters and words in the transmission of Morse code.

<span class="mw-page-title-main">Eggdrop</span>

Eggdrop is a popular IRC bot and the oldest that is still being maintained.

Infobot is a Perl IRC bot, first written in 1995 by Kevin Lenzo. The bot's main goal was to remember URLs and associate them with a descriptive name, so whenever someone needed a specific URL they could ask the bot. For that reason, the first Infobot, running in #macintosh on the EFnet IRC network, had the nickname 'url'.

Plain Old Documentation (pod) is a lightweight markup language used to document the Perl programming language as well as Perl modules and programs.

<i>Intermediate Perl</i>

Intermediate Perl is a book about the Perl programming language by Randal L. Schwartz, brian d foy and Tom Phoenix, published in 2006 by O'Reilly Media. It was released as a retitled second edition of Learning Perl Objects, References & Modules (ISBN 0-596-00478-8) by Schwartz and Phoenix, published by O'Reilly Media in 2003 to favorable reviews. A second edition of Intermediate Perl was released in 2012.

<span class="mw-page-title-main">Damian Conway</span>

Damian Conway is a computer scientist, a member of the Perl and Raku communities, a public speaker, and the author of several books. Until 2010, he was also an adjunct associate professor in the Faculty of Information Technology at Monash University.

<i>Perl Cookbook</i>

The Perl Cookbook, ISBN 0-596-00313-7, is a book containing solutions to common short tasks in Perl. Each chapter covers a particular topic area and is divided into around a dozen recipes each on a particular problem. Each recipe has four parts: "Problem", "Solution", "Discussion", and "See Also".

Sean Michael Burke is a Perl programmer, author, and linguist. He was a columnist for The Perl Journal from 1998 and has written several dozen Perl modules for CPAN, as well as books for O'Reilly Media.

<span class="mw-page-title-main">Don Libes</span> American computer scientist

Don Libes is a computer scientist at NIST performing computer science research on interoperability. He works in the Manufacturing Systems Integration Division, which performs research on software integration methods, creating custom software that implements draft standards and serves as an interface to other components provided by separate vendors.

PerlTidy is a tool written in the Perl programming language to do static code analysis against code written in that same language. It uses either command-line switches or configuration files to reformat Perl scripts so they comply with specified coding rules. The default configuration is an approximation of the Perl Style Guide.

References

  1. The 3rd Annual Obfuscated Perl Contest Felix Gallo – Perl Journal (You may need to subscribe to the Perl Journal to be able to view this link, which is the source of the quote given.)
  2. Simon Cozens (2005). Advanced Perl Programming . O'Reilly. p. 256. ISBN   978-0-596-00456-9.

Further reading