Just another Perl Hacker, atau JAPH adalah program yang ditulis dengan bahasa Perl hanya untuk mencetak tulisan “Just another Perl hacker,” (koma tidak selalu digunakan)

Berikut ini beberapa program perl yang hanya akan mencetak tulisan “Just another Perl hacker,” dengan berbagai cara sekaligus dengan pola kode yang unik.

Unta

%%
#Erudil from http://www.perlmonks.com/
#!/usr/bin/perl -w                                      # camel code
use strict;

                                           $_='ev
                                       al("seek40D
           ATA,0,                  0;");foreach(1..3)
       {<DATA>;}my               @camel1hump;my$camel;
  my$Camel  ;while(             <DATA>){$_=sprintf("%-6
9s",$_);[email protected]           1=split(//);if(defined($
_=<DATA>)){@camel1hum        p=split(//);}while(@dromeda
 ry1){my$camel1hump=0      ;my$CAMEL=3;if(defined($_=shif
        t(@dromedary1    ))&&/S/){$camel1hump+=1<<$CAMEL;}
       $CAMEL--;if(d   efined($_=shift(@dromedary1))&&/S/){
      $camel1hump+=1  <<$CAMEL;}$CAMEL--;if(defined($_=shift(
     @camel1hump))&&/S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
     defined($_=shift(@camel1hump))&&/S/){$camel1hump+=1<<$CAME
     L;;}$camel.=(split(//,"40..m`{/J47134}L^7FX"))[$camel1h
      ump];}$camel.="n";}@camel1hump=split(/n/,$camel);foreach(@
      camel1hump){chomp;$Camel=$_;y/LJF7173175`47/616263
      06465666770/;y/12345678/JL7F17517347`/;$_=reverse;
       print"$_40$Cameln";}foreach(@camel1hump){chomp;$Camel=$_;y
        /LJF7173175`47/12345678/;y/12345678/JL7F175173 47`/;
         $_=reverse;print"40$_$Cameln";}';;s/s*//g;;eval;   eval
           ("seek40DATA,0,0;");undef$/;$_=<DATA>;s/s*//g;(   );;s
             ;^.*_;;;map{eval"print"$_"";}/.{4}/g; __DATA__   124
               1   5014540165163145401571 46401  41
                    40143141  1551451 54401   51155  141
                    147145  40151156 40141    16316 3
                     157143   15114116  41511     57156
                     40167  1511641   5040      1201
                     45162   1544015    1163      04014
                     1401   641621      41144       145
                     15514    1162       1534        0157
                      146     04011     747         1221
                      4515      11541  54171          40
                      46         01210116            316
                      315           714315             114
                      116            4145163           54
                     40            11115614         356
                    40         12516314514         440
                    1671        511641  50         40160
                  145162                              155151
                163163                                1511
              5715656

Pohon

%%
#Clinton Pierce
#note: Requires 5.6.0 or better

                    '% * % % * % %<>
               * % ~ * % % * % * * % *      *
       * % % * *   % * % *<> * % ~   % % % * %
     *  * * % * % % % % * % % % % % % * % % * %
     % * % % ^ * % % % % *[] % % * * % * * % %  %
      % * %   % % % % % * * % * * @ *   @ % * % %
    % ^ % * % * % * * % % * %  <> % % % % * % %() %
  % % * * * % % * % % * * % * * * * % * * % % * * *
   %   * * * % % * % % *[]<> % % % % * % * * * % % *<>
 % * *  % % % * * % * * *  * % * * *   %/  # % * *
  % % % * * / * *// %  % <> // % %/ % // % * %
    * * * ||  / / % %//   * /<> %//  %// % %<>
   * % * %    |   | ||// % || //  // % // * * * %
   %{} %  * ----    | /   %||//   /  ---/ / * % % *
     % *  * ____   | |    /  /  /   /----/ * %
             ----     |   /   //    /
                         /        /'
                    =~m/(.*)/s;$_=$1;
                     s![-|_/s]!!g
                       ;%e=('%',0,
                       '^',132918,
                       '~'=>18054,
                       '@'=>19630,
                       '*' =>0b01,
                       '#'=>13099,
                       '[]'=>4278,
                       '<>'=>2307,
                       '{}'=>9814,
                       '()',2076);
                       for $a(keys
                       %e){$e{$a}=
                       sprintf"%b"
                       , $e{$a};}
                     $y= qq{(}.join(
                     '|',map "Q$_E"
                   ,keys %e).qq{)};s/$y
              /$e{$1}/gex;print pack"B*",$_;

DNA

%%
#MeowChow from http://www.perlmonks.com/

$ _=
 qq
.CG
T--A
A---T
A----T
 C----G
  T----A
   A---T
    G--C
     CG
     CG
    C--G
   G---C
  G----C
 C----G
A----T
C---G
G--C
 AT
 CG
A--T
A---T
G----C
 A----T
  G----C
   C---G
    A--T
     GC
     CG
    G--C
   A---T
  G----C
 G----C
G----C
A---T
T--A
 AT
 CG
T--A
C---G
A----T
 A----T
  G----C
   A---T
    A--T
     CG
     TA
    T--A
   G---C
  G----C
 C----G
A----T
C---G
G--C
 CG
 TA
T--A
C---G
T----A
 C----G
  A----T
   C---G
    G--C
     GC
     TA
    G--C
   C---G
  G----C
 G----C
G----C
A---T
T--A
 CG
 AT
G--C
A---T
A----T
 C----G
  C----G
   A---T
    A--T
     CG
     CG
    G--C
   G---C
  G----C
 A----T
T----A
C---G
G--C
 CG
 TA
A--T
A---T
G----C
 A----T
  A----T
   C---G
    A--T
     GC
     TA
    G--C
   C---G
  T----A
 G----C
G----C
C---G
T--A
 AT
 CG
G--C
G---C
T----A
 C----G
  G----C
   C---G
    C--G
     CG
     AT
    T--A
   C---G
  G----C
 G----C
A----T
T---A
G--C
 CG
 TA
G--C
A---T
G----C
 A----T
  G----C
  .;@_{A
    => C
     =>
     G=>
    T=>}
   =0..3
  ;s;. *
 (w).*
(w).*
n;$_
{ $-
 ++
 /9
%2?$
2:$ 1
};gex;
 s;(.)(
  .)(.)(.
   );chr
    64*$
     1+
     16
    *$2+
   4  *$
  3   +$
 4 ;gex
; eval

Untuk pola lainnya silakan download file PDF, klik disini