Obfuscated Perl Contest

from Wikipedia, the free encyclopedia

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

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

Competition entries

Individual evidence

  1. a b Simon Cozens: Advanced Perl Programming. O'Reilly Media, 2005, ISBN 0-596-00456-7 , p. 256 ff.