1. spiraling quine [1]
2. Mandelbrot flythrough [2]
3. Random Sierpinski Dust [3]
4. functional cellular automata [4]
5. Balls [5]
6. Perl Plays Pong [6]
7. Digital Clock [7]

1. spiraling quine [1]

#!/usr/bin/perl
$_='
         $q ="\                   47"; wh
        ile                           ($ ;=
      $z                +=              .5 ){
    %c=           $r=0;$/ ="";whi         le(2
   0+          $z>($;+=.05)){$c{int$       _+ 2
  6+         2*($              r+= .0       2) *
 s          in$                   ;}{1       -$_
+1         0+           int        $r*c       o s
$         ;}         =1for(0.       .1)        }$
t        =r         ever se;$        /.        =`
c        le        ar     `.         "         #!
/        usr       /bi             n/         pe
rl       \n\       $_ =$q        \n"          ;
fo        r$y        (1..20){$c{$_}          {
$ y       }? $         /.=chop$t            :
 ($/        . ="                          \4
 0")         for(0.                    .53)          ;
   $/.        ="\n"}pri            nt"$/$          q;
   s; ".         chr(9 2)."s;;g;eval\n           "}

';s;\s;;g;eval

2. Mandelbrot flythrough [2]

#!/usr/bin/perl
 $r=25; $c=80;
                                              $xr=6;$yr=3;$xc=-0.5;$dw=$z=-4/
                                              100;local$";while($q=$dr=rand()
                                             /7){$w+=$dw;$_=join$/,map{$Y=$_*
                                             $yr/$r;
  join""                                    ,map{$                  x=$_*$
 xr/$c;($                                   x,$y)=                 ($xc+$x
  *cos($                                   w)-$Y*               sin$w,$yc+
                                           $x*sin              ($w)+$Y*cos
  $w);$                                   e=-1;$                    a=$b=0
;($a,$b)   =($u-$v+$x,2*$a*               $b+$y)                    while(
$ u=$a*$   a)+($v=$b*$b)<4.5  &&++$e     <15;if                     (($e>$
  q&&$e<   15)||($e==$q and   rand()     <$dr))  {$q=$e;($d0,$d1)   =($x,$
  y); }                        chr(+(   32,96,+  46,45,43,58,73,37  ,36,64
 ,32)[$                        e/1.5]   );}(-$   c/2)..($c/2)-1;}   (-$r/2
 )..($     r/2)-1;select$",     $",$", 0.015;                       system
$^O=~m     ~[wW]in~x?"cls":     "clear";print                       ;$xc=(
$d0+15     *$xc)/16;$yc=($       d1+15*$yc)/                        16;$_*=
1+$z for                         $xr,$yr;$dw                     *=-1 if rand
()<0.02;                          (++$i%110                      )||($z*=-1)}

3. Random Sierpinski Dust [3]

#!/usr/bin/perl
                        +
                       @A=
                      (25,0
                     );@B=(0
                    ,24   +0)
                   ;@C=( 49,24
                  );@X=($")x(40
                 +9)         ;@_
                =(@X,       $/)x(
               25);$_[     $A[1*1]
              *50   +$A   [0]   ]=q
             /./;+ $_[$B [1*1] *1*50
            +$B[0]]=qq/./;$_[$C[1]*50
           +$C                     [0]
          ]="."                   ;@X=(
         $C[0*0]                 ,$C [1]
        );1   *1*               1*1   *1;
       while (394>             (join $",@_
      )=~y/.//){do{           $R=3*rand;@X=
     (((         int         (($         {(A
    ,B,C)       [$R]}       [0*0]       +$X[0
   ])/2+.5     )),int(     (${(A,B     ,C)[$R]
  }[1   *1]   +$X   [1]   )/2   +.5   +0)   ))}
 while $_[$Z =$X[1 ]*50+ $X[0] +0]=~ /\./; $_[$Z
]=".";+system$^O=~/[wW]in/?"cls":"clear";print@_}

4. functional cellular automata [4]

#!/usr/bin/perl -- -*- cperl -*-
my%t=('H'=>[99,6,0,3,4,0,1],'*'=>[5,3,1,2,1,2,11],'O'=>[7,9,0,4,8,3,4]
,'x'=>[12,3,0,1,9,2,4],'+'=>[17,3,0,1,9,2,4],);sub _{my($x,$y,$t)=@_;$
g[$x][$y]=l($t,$x,$y)}sub l{my($t,$x,$y,$a)=@_;+{v=>$t,i=>sub{++$a;my(
$n,$s,$o);my@t=@{$t{$t}};for$u(-1..1){for$z(-1..1){$n=$g[$x+$u][$y+$z]
;if($n->{v}eq$t){++$s}elsif($n->{v}){++$o}}}if($s<$t[2]or$s>$t[1]or$o>
$t[4]or$o+$s<$t[5]or$a>$t[0]){undef$g[$x][$y]}if(rand(10)<$t[6]or$s==$
t[3]){my($v,$w)=map{rand(42)%3-1}0..1;$v+=$x;$w+=$y;$g[$v][$w]=l($t,$v
,$w)if not$g[$v][$w];}}}}map{_($$_[0],$$_[1],"H")}([20,10],[20,9],[21,
10],[21,9]);_(40,10,'*');_(39,10,'*');map{my$q=$_;map{_($_,$q,'O')}(29
,30)}(18,19);_(30,3,"+")^_(29,3,"x");while($:){&c;for$y(1..22){for$x(1
..60){if($m=$g[$x][$y]){print$$m{v};$$m{i}->()}else{print" "}}print$/}
print$/;sleep 1}sub c{`clear`}#To support Win32 make that sub c{`cls`}

5. Balls [5]

#!/usr/bin/perl
          $_=q`$_='     
       @8GCI';@a=/./g;        
      $j=9;$k=9;$w=25;$            c=35;$e=   
     8;$u=2;$v=1;{$k+=$v*      =$k<6|$k>16?-1:   
    1;$j+=$u*=$j<9|$j>60?-    1:1;my(%l,$m,$n);      
    for$y(0..22){for(0..70   ){$r=($_-$j)/1.6;$s=  
    $y-$k;$d=(($_-$c)**2+(  $y-$f)**2+(($w-$r**2-$ 
    s**2)**.5-$e)**2)**.5;  if($r**2+$s**2<$w){$m=
     $d<$m||!$m?$d:$m;$n=   $d>$n?$d:$m;$l{$y}{$_} 
      =$d;}}}print"\ec";    for$y(0..22){print$_>6    
        9?$/:(($d=$l{$y      }{$_})?$a[($d-$m)*5/  
           $n]:$")fo          r(0..70)}select$q,  
                               $q,$q,.1;redo}`; 
                                 s#\s##g;eval 

6. Perl Plays Pong [6]

#!/usr/bin/perl
$@='Just Another Perl Hacker';$@=length($@);
$|=abs(2-$@);goto f;z:if(int(rand(10))>5){($-
,$.)=($",$;);}else{($-,$.)=($",$;);}@b =();$b
[0] = $-;if($- ==$;){$b[1]=1;}else{$b[1]=7 +
50 + 10 + (5 * 2);}$,='l';$,='r'if$-==$";$vd
 ='u';$vd='d'if int(rand(10))<5;while($|){my
$s="";foreach $%(0 .. 22){foreach$=(0 .. 78)
{if($===39){$s.="|";}if($%==$;&& $===0){$s.=
"]";}elsif($===$b[1]&& $%==$b[0]){$s.= "*";}
elsif($===78&& $%==$"){$s.="[\n";}elsif($===
78){$s.=" \n";}else{$s.=" ";}}}print $s;#### 
$b[1]==1 and$,='r';$b[1]==77 and$,='l';$b[0]
== 23 and$vd='u';$b[0]==0 and$vd='d';if($,eq
'r'){$b[1]++;$mp=\$";}if($, eq'l'){$b[1]--;#
$mp=\$;;}if($vd eq'u'){$b[0]--;$$mp-- unless
$$mp==0;}if($vd eq'd'){$b[0]++;$$mp++ unless
$$mp == 22;}select $`,$`,$`,.05;system($^);}
f:$^='clear';$"=int(rand(22));$;=int(rand(22
));$^='cls'if$^O=~m|win|i;goto z;###########

7. Digital Clock [7]

#!/usr/bin/perl
################################################################
#################### Digital Clock v1.0 ########################
################################################################
$m[0]='521122211132111132115111421142521132111142';$m[1]='15311'
.'5211521133114133'.'114153115134113414113153115133115';;;$m[2]=
'15311521152131131131121315321515421542311311153215143215';$m[3]
='153115'.                                            '2115212'#
.'113214'.           ''.             ''.              '1144115'#
.'411515'.             ''.             ''.            '3115211'#
.'321153'.                                            '11'.'54'#
.'115';//;                                            ;;;;$m[4]=
'153215221522111332143213411542131432131113311532154115';//;;$r=
q$ _/\|$;$s=5;for($k=0;$k<$s;$k++){$x=length($m[$k]);for($i=0;$i
<$x;$i=$i+2){$n=substr($m[$k],$i,1);$c=substr($m[$k],$i+1,1);$~[
        $k].=substr($r,$c-1,1)x$n;}}do{$_=localtime(time);
/.*(\d)(\d):(\d)(\d):(\d)(\d).*/;for($i=0;$i<5;$i++){print"\ec",
,qq$\075$x45,qq{\012}if($i==0);print"\174\040",substr($~[$i],$1*
5,5),"\040",substr($~[$i],$2*5,5),(($i==2)?"\157\040":"\040"x2),
  (($i==3)?"\157\040":"\040"x2),substr($~[$i],$3*5,5),"\040",
substr($~[$i],$4*5,5),,(($i==2)?"\157\040":"\040"x2),,(($i==3)?
"\157\040":qq{\040}x2),(substr($~[$i],$5*5,5)),qq{\040},substr(
        $~[$i],$6*5,5),"\040\174","\012";print"\174\040"
        ,"\040"x41,"\040\174","\012","\075"x45,qq{\012}
                 if($i==4);}}while(sleep(1.5));