__ _ _ _ \ \ _ _ ___| |_ __ _ _ __ ___ | |_| |__ ___ _ __ \ \ | | / __| __| / _` | '_ \ / _ \| __| '_ \ / _ \ '__| /\_/ / |_| \__ \ |_ | (_| | | | | (_) | |_| | | | __/ | \___/ \__,_|___/\__| \__,_|_| |_|\___/ \__|_| |_|\___|_| ___ _ _ _ / _ \___ _ __| | | |__ __ _ ___| | _____ _ __ / /_)/ _ \ '__| | | '_ \ / _` |/ __| |/ / _ \ '__| / ___/ __/ | | | | | | | (_| | (__| < __/ | \/ \___|_| |_| |_| |_|\__,_|\___|_|\_\___|_| by Boris Grishenko Among the ancient mongers of the Cult of Perl there is a long-standing tradition of writing computer software so unreadable by the human eye that it has turned in to an art-form. Called 'Obfuscaded Code', these programs are a form of net-art that can have many aesthetic qualities that separate them from other paradigms such as esotheric programming languages like the Brainfuck interpreter - where the entire program is written using only 8 different characters: ><+-.,[] - or Malbolge (the 8th circle of hell) - which was specifically designed to be almost impossible to use. A simple example of such a program is the following: $_ = "wftedskaebjgdpjgidbsmnjgc"; tr/a-z/oh, turtleneck Phrase Jar!/; print; Which actually writes: Just another Perl hacker, This can go even a step further, where the entire code initially looks like a character-based ASCII-drawing. Secretly these drawings can run as a program and sometimes output something completely different than what they on the surface seem to represent. You can try to run the following pieces of 'ASCII-artcode' using the standard Perl interpreter. - just copy the entire drawing to a textfile and run in a terminal using ~$ perl textfile Or you can always appreciate their intricate visual representation. for ($k = 1.2 ;$k >- 1.2 ;$k-=(2.4 )/40){ for ($j=-2.1 ;$j <.7 ;$j +=2.8 /100) {($x, $y, $i )=($j, $k, 0); while (sqrt( $x** 2+$y **2) <2 && $i<200) {($x ,$y )=( $x**2 -$y** 2+ $j,2 *$x*$y +$k ) ;$i++ ;} print ($i <12?( $i <4?($i <2? '#': '%'): ($i <8?'&' :'*' )): ($i<50 ?($i <20? '+':'-') :( $i<80?',' :($i< 190 ?'.':' ') ))) ;} print"\n" ;} $LOVE= AMOUR. true.cards. ecstacy.crush .hon.promise.de .votion.partners. tender.truelovers. treasure.affection. devotion.care.woo.baby.ardor.romancing. enthusiasm.fealty.fondness.turtledoves. lovers.sentiment.worship.sweetling.pure .attachment.flowers.roses.promise.poem; $LOVE=~ s/AMOUR/adore/g; @a=split(//, $LOVE); $o.= chr (ord($a[1])+6). chr (ord($a[3])+3). $a[16]. $a[5]. chr (32). $a[0]. $a[(26+2)]. $a[27]. $a[5].$a[25]. $a[8].$a[3].chr (32).$a[29]. $a[8].$a[3]. $a[62].chr(32).$a[62]. $a[2].$a[38].$a[4]. $a[3].'.'; print $o; '% * % % * % %<> * % ~ * % % * % * * % * * * % % * * % * % *<> * % ~ % % % * % * * * % * % % % % * % % % % % % * % % * % % * % % ^ * % % % % *[] % % * * % * * % % % % * % % % % % % * * % * * @ * @ % * % % % ^ % * % * % * * % % * % <> % % % % * % %() % % % * * * % % * % % * * % * * * * % * * % % * * * % * * * % % * % % *[]<> % % % % * % * * * % % *<> % * * % % % * * % * * * \ * %\ * * * %/ \ # % * * % % % *\ * /\ * *// % %\ <>\ // % %/ % \// % * % * * *\ \|| \ \/ / % %// \ \ *\ /<> %// %// % %<> * % * %\ \ | | ||// % || // \// % // * * * % %{} % * ----\ \ | / %||// / ---/ / * % % * % * *\ ____\ \| | / / / /----/ * % \ ----\ | / // / \ \ / /' =~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*",$_; Boris Grishenko