Just another Perl hacker
Ein Perl-Programm, das "Just another Perl hacker" ausgibt, wobei der Programmcode meistens so verunstaltet wurde, daß man diese Funktion dem Quellcode nicht sofort ansieht. Dazu werden, ganz im Sinne des International Obfuscated C Code Contests oft selten verwendete Funktionen, Variablen oder Verhaltensweisen (wie das Aufrufen einer Funktion ohne Parameter oder das Verwenden von Sonderzeichen in Variabelnamen) genutzt.
Die Verschleierung der Funktion kann beispielsweise durch scheinbaren Datenmüll geschehen:
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
aber auch durch Einbinden von "Just another Perl hacker" in sehr undurchsichtigen Code:
$_='987;s/^(d+)/$1-1/e;$1?eval:print"Just another Perl hacker"';eval;
oder auch einfach nur dadurch, daß das Programm aussieht, als würde es etwas ganz anderes und simples tun: unrelated to printing "Just another Perl hacker":
$_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print;
oder aber auch dadurch, daß ausschließlich Perl-Schlüsselwörter verwendet werden:
not exp log srand xor s qq qx xor s x x length uc ord and print chr ord for qw q join use sub tied qx xor eval xor print qq q q xor int eval lc q m cos and print chr ord for qw y abs ne open tied hex exp ref y m xor scalar srand print qq q q xor int eval lc qq y sqrt cos and print chr ord for qw x printf each return local x y or print qq s s and eval q s undef or oct xor time xor ref print chr int ord lc foreach qw y hex alarm chdir kill exec return y s gt sin sort split
Der Ausdruck "Just another Perl hacker" wurde anfangs vorallem dadurch bekannt, daß Randal L. Schwartz bei Postings in die Newsgruppe comp.lang.perl (dem Vorgänger der heutigen Newsgruppe comp.lang.perl.misc) immer welche in seiner Signature hatte.
External links
Der englischsprachige Artikel, auf dem dieser Artikel basiert, enthält bzw. enthielt Material aus dem FOLDOC-Eintrag zu japh.