A Kedves Olvasó feladata megfejteni, hogy az alábbi Perl kód (nem, nem line noise!) mit csinál, anélkül, hogy lefuttatná. Aki kitalálja, az előtt maga Larry is kalapot emelhet.
($,,$",@_)=($",$,,'>'^'[','+'^']','?'^'^','@'^',','?'&'`','?'^'[','@'^'/','{', '@'^',','@'^'/','>'^']','?'^'^','@'^',', '($_,%_,$%)=\'`-=[];,./~!@#$%^&*()_+|{}:"<>?\';','_'^',','/(.)/$_{$',!$%, '}=$%++/','<'^'[','>'^'[',';','"'^'(','$_=$','>'^'{','.'^'`','}'^'+','{__};', '_'^',','@(.{',("<"&':')-!$%,'})@$%-=$%;','+'^'[','?'^'^','>'^']','+'^'@','"', '.'^'`','",','_'^'-','>'^'[','+'^']','>'^'[','_'^'-','_'^',','>'^'[','?'&'`', '@'^'-','?'^'^','+'^'[','{$%=$%*($=>>!$[)+$_{$_}}','"'^'(','_'^',','+'^'[', '@'^',',')'^'@','+'^'_','//,$',!$%,'@','<'^'[','>'^'[',';$_}' );@{"@{['>'^'{','.'^'`','}'^'+']}"}{___,__}=("@_",'=*)==&,=_;.")^=)%&</;=)`%'. '?+,=)+$**<`|#,){)=_;/~|?=(??*&+=&,%)(|=./&@~}=.."](`=./-_$.=..%_]@`|@.%`,=~'. '}*?$?=^^"%?!=#{|+]_=#{|---=&<>(.;=&[^#$``{)`;=`' );`@{['+'^'[','>'^'[','_'^'-','@'^',',"$,-",'>'^'[']}$,"\$___">&@{[!$|+!$%]}`
Na jó, írok egy könnyebbet is (ami szintén saját találmány):
eval{require$=**$]};$_=(gmtime$[).$@;@_=/..(.)/;s/:/$&^uc@_[$|]/e;$#=$/;#_+=$. @_=split$^=!$=;print$^,(map{$_[$%+=-$=-2+ord$_]}split$^,'>?V8C???*;G3V*=T'),$]
Akinek még az előbbi is nehézséget jelentett, következzen egy ,,mentőkérdés''. Miért nem ad hibaüzenetet a perl, ha a következőt próbáljuk futtatni:
s e n d m e y o u r c o d e
Ezek után már felüdülést jelent a következő programkód, amely Perl-ben is fut, és C-ben is lefordul:
#include <stdio.h> /* print "Hello, Perl!\n"; __END__ */ int main(int argc, char **argv) { printf("Hello, C!\n"); return 0; }
Mellesleg ugyanezt meg lehet csinálni Pascal-lal, C++-szal, és QBasic-kel is (ekkor a kezdő karakterek {, // illetve ''; lesznek).
1999. szeptember 22.
Budaörs, Magyarország.
Ez a lap pts oldalai közül való.