Zum Inhalt springen

Just another Perl hacker

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 28. Juli 2007 um 16:32 Uhr durch 195.189.142.206 (Diskussion) (Methodik der Verschleierung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Just another Perl hacker (abgekürzt JAPH) steht für ein in der Programmiersprache Perl geschriebenes kurzes Computerprogramm, das lediglich den Text „Just another Perl hacker“ ausgibt, seine Funktionsweise im Quelltext dabei aber möglichst wirkungsvoll verschleiert. Ein solches Programm dient experimentellen Zwecken sowie der Unterhaltung der Programmierer und hat darüberhinaus keinerlei praktischen Nutzen, obgleich die Analyse der Funktionsweise eines JAPHs für Perl-Programmierer außerordentlich lehrreich sein kann.


Methodik der Verschleierung

Zum Zweck der Verschleierung (engl. Obfuscation) wird der Programmcode - zumeist unter Ausnutzung auch der abwegigsten syntaktischen Möglichkeiten der Programmiersprache Perl - derart kryptisch formuliert, dass man ihm seine Funktion (die Ausgabe von "Just another Perl hacker") selbst auf den zweiten Blick kaum ansieht. Nicht selten wird dem Quelltext darüberhinaus durch kreatives Layout ein originelles und für Programmcode völlig untypisches Erscheinungsbild verliehen. Beides dient der Verschleierung der eigentlichen Funktion und/oder der Funktionsweise des Programmes, oder gar der Tatsache, dass es sich bei dem vorliegenden Text überhaupt um ein Computerprogramm handelt.

Historie

Die „Programmierdisziplin“ JAPH wurde vermutlich Anfang der 1990er Jahre durch Randal L. Schwartz begründet, der bei Postings in die Newsgroup „comp.lang.perl“ (Vorgänger der heutigen Newsgroup „comp.lang.perl.misc“) immer ein JAPH in seine Signature integrierte. (Signatures können auch andere kurze Programme enthalten, wie diese Sammlung zeigt.) Auch heute noch werden JAPHs entweder im Rahmen von Programmierwettbewerben (z.B. dem Obfuscated Perl Contest) entwickelt, oder just for fun – als kreative Fingerübung der Perl-Programmierer.

Siehe auch