Just Another Perl Hacker — Wikipédia
Just Another Perl Hacker (JAPH), est un court script Perl qui affiche le texte « Just Another Perl Hacker ». Il s'agit originellement d'un exercice de virtuosité utilisé comme signature de courriel par certains hackers Perl.
Il peut être un assombrissement ou avoir valeur pédagogique en démontrant de manière élégante une fonctionnalité du langage Perl. La communauté Perl a ensuite étendu le champ des JAPH avec Pugs et Parrot.
Exemples
[modifier | modifier le code]JAPH sans code impénétrable :
print "Just another Perl hacker,";
Intégrer JAPH dans un code opaque :
$_='987;s/^(d+)/$1-1/e;$1?eval:print"Just another Perl hacker,"';eval;
Décoder JAPH à partir d'une chaîne littérale :
$_="krJhruaesrltre c a cnP,ohet";$_.=$1,print$2while s/(..)(.)//;
En utilisant seulement des mots-clés Perl :
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
En utilisant seulement de la ponctuation, sans caractères alphanumériques :
`$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=( $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++; $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++ ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`