Obfuscated Perl Contest
The Obfuscated Perl Contest was a programming competition . The participants ranged in programming language Perl wrote short programs one, they work in the source code obfuscated in a creative way possible (English: obfuscated ) was. (This is usually not the goal of programming; see also: Obfuscation .)
Competitions of this kind, which are also organized for other programming languages, primarily serve to entertain the programmers involved and an interested specialist audience. The creation, but also the analysis of the functionality of the competition entries is usually extremely instructive; This is - besides the entertainment value - the benefit of such competitions for the programmers of the respective programming language, and not only for those involved in the competition.
history
The competition was first announced in 1996 by Felix S. Gallo in The Perl Journal , inspired by the International Obfuscated C Code Contest related to the C programming language . It then took place annually, in 2000 for the last time.
Winners were chosen in four categories:
-
The best four-line signature
The best program whose source text fits in 4 lines of 76 characters each (the size of a signature ) wins . -
The most powerful program
The program that achieves the greatest effect with the least effort (maximum 1024 bytes) wins. -
The most creative program
The program with the most amazing combination of obfuscation and functionality wins (maximum 2048 bytes). -
The best The Perl Journal
The winner is the best program which - in the tradition of the " Just another Perl hacker " programs - outputs the text " The Perl Journal " (maximum 2048 bytes).
The contributions were evaluated according to the criteria of aesthetics (of the source text ), output (output at the terminal ) and incomprehensibility (in the sense of maximum obfuscation ). Every year one of the entries was also given the Best of Show award . The winning entries were published in the Perl Journal (see web links).
example
The following program by Mark Jason Dominus, a so-called “ Just another Perl hacker (JAPH)”, won 2nd prize in the fifth Obfuscated Perl Contest in the “The best four-line signature” category. It creates the output “Just another Perl / Unix hacker” in an unnecessarily but here deliberately complicated way. (A detailed explanation of how it works is available, see web links.)
@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print
See also
- Esoteric programming languages - programming languages designed for maximum obfuscation
literature
- Jon Orwant: Games, Diversions & Perl Culture . O'Reilly Media, 2003, ISBN 978-0-596-00312-8 , chapters 43 through 46.
- Simon Cozens: Advanced Perl Programming . O'Reilly Media, 2005, ISBN 0-596-00456-7 .
Web links
- Michael Mateas, Nick Montfort: A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics. (PDF) In: Proceedings of the 6th Digital Arts and Culture Conference. IT University of Copenhagen , December 2005, pp. 144–153 , accessed on October 29, 2015 (English).
Competition entries
- The example above, with very detailed notes (English)
- The Perl Journal - all competitions (tenders and winning entries ) in the issues of the Perl Journal archived at foo.be.
- First Prize Winner in the 5th Obfuscated Perl Contest - Edition of an Analog Clock with Moving Hands
- A contribution to the 2nd Obfuscated Perl Contest - an interactive screen game (English)
Individual evidence
- ↑ a b Simon Cozens: Advanced Perl Programming. O'Reilly Media, 2005, ISBN 0-596-00456-7 , p. 256 ff.