я даже не знаю плакать или смеятся, но вот случайно увидел такой вот перл (http://www.selectorweb.com/perl.html):
His code was called SelfGOL, and did one of four things:
1. played the game of life: selfgol -g -x=width -y=height
2. printed itself as output: selfgol -s
3. print a scrolling marquee: selfgol -d="banner"
4. modify a program to print itself as output: selfgol progname
It did this in under 1000 bytes of code: #!/usr/local/bin/perl -sw
$;=$/;seek+DATA,!++$/,!$s;$_=<DATA>;$s&&print||$g&&do{$y=( $x||=20)*($y||8);sub
i{sleep&f}sub'p{print$;x$=,join$;,$b=~/.{$x}/g}$j=$j;sub'f{pop}sub
n{substr($b,&f%$y,3)=~tr,O,O,}sub'g{$f=&f-1;($w,$w,substr($b,&f,1),O )[n($f-$x)+
n($x+$f)-(substr($b,&f,1)eq+O)+n$f]||$w}$w="\40";$b=join'',@ARGV?& lt;>:$_,$w
x$y;$b=~s).)$&=~/\w/?O:$w)ge;substr($b,$y)=q++;$g='$i=0;$i?$b:$c=$b;
substr+$c,$i,1,g$i;$g=~s?\d+?($&+1)%$y?e;$i-$y+1?eval$g:do{$i=-1;$b=$c;p;i
1}';sub'e{eval$g;&e}e}||eval||die+No.$;
__DATA__
if($j){{$^W=$|;*_=sub{$=+s=#([A-z])(.*)#=#$+$1#=g}}
@s=(q[$_=sprintf+pop@s,@s],q[
if($j){{$^W=$|;*_=sub{$=+s=#([A-z])(.*)#=#$+$1#=g}} #_The_Perl_Journal_#
@s=(q[%s],q[%s])x2;%s;print"\n"x&_,$_;i$j;eval}
])x2;$_=sprintf+pop@s,@s;print"\n"x&_,$_;i$j;eval}$/=$y;$"=&q uot;,";print
q<#!/usr/local/bin/perl -sw
if(!$s){>.($_=<>).q<}else{@s=(q[printf+pop@s,@s],q[#!/usr/local/bin/ perl -sw
if(!$s){>.(s$%$%%$g,tr=[=[===tr=]=]=||&d,$_).q<}else{@s=(q[%s],q[%s])x 2;%s}
])x2;printf+pop@s,@s}
>
Похожие темы
- Форум Громко ругаем реализацию List to CSV line (2014)
- Форум Perl + threads (2006)
- Форум MRTG не работает :( (2005)
- Форум Can't locate find.pl in @INC (2015)
- Форум mrtg - слежение за температурой cpu и MB (2009)
- Форум mrtg Expected a Number for 'in' but got (2013)
- Форум работа с сокетами на перле. нужна помошь (2006)
- Форум FreeBSD: не устанавливается ПО из портов. (2022)
- Форум Перл, на разных ОС работает по разному. (2013)
- Форум Решил освоить perl =) (2005)