Ok, here's an improvement on my previous post:
#!/usr/bin/perl -w
use strict;
my@AoA;my@tmp;my($x,$y);my$w=20;my$h=20;my(
$tmp,$tmp2,$tmp3);for$x(0..$w){for$y(0..$h)
{$AoA[$x][$y]=sqrt(($x-0.5*$w)**2+($y-0.5*$
h)**2)/10;}}foreach(0 .. 3){if(2*$_+1==1){$
tmp2++;}elsif(2*$_+1==3){$tmp+=2*$_+1;}else
{$tmp*=2*$_+1;}}$tmp+=$tmp2;$tmp[0]=$tmp;##
$tmp2=1;$tmp3=2;foreach(1..3){$tmp2*=$_;}##
foreach(1..2){$tmp3**=2;}$tmp=$tmp2*$tmp3+1
;$tmp[1]=$tmp;$tmp=13;$tmp+=(81**(1/4))**2*
('1'.'1');$tmp[2]=$tmp;$tmp=1;foreach(1..3)
{if(2*$_!=6){$tmp *= 2*$_;}else{$tmp*=((4*$
_)+1);}}$tmp[3]=$tmp;for$x(0..$w){for$y(0..
$h){if($AoA[$x][$y]>=0&&$AoA[$x][$y]<=0.25)
{print chr($tmp[0]);}elsif($AoA[$x][$y]>=##
0.25&&$AoA[$x][$y]<=0.5){print chr($tmp[1])
;}elsif($AoA[$x][$y]>=0.5&&$AoA[$x][$y]<=##
0.75){print chr($tmp[2]);}elsif($AoA[$x][$y
]>=0.75&&$AoA[$x][$y]<=1){print chr($tmp[3]
);}else{print' ';}}print"\n";}#############
Lemme know what you think. Thanks.