Archive for the ‘Perl’ Category

P2P de 6 Líneas en Perl

Así es, se llama MoleSter y lo importante en esto, es que pudieron hacer esta aplicacion totalmente funcional, en sólo 6 líneas, esto es 466 bytes (la version mini). Tambien hay una versión más extensa, que viene mucho más explicada.

El código es:


$/=$_;$,=shift;$w=$a=shift;$k{+shift}=1;socket S,2,1,6;bind S,&a;for(listen
S,5;$SIG{ALRM}=&i;m! (S+) ([e-i])([^/]*)/!s&&($k{$w=$1}=$,eq$`)&&&$2){alarm
9;(accept(C,S),alarm 0)?read C,$_,1e6:($_="$, $a f".shift)}sub i{}sub t{socket
C,2,1,6;$k{$w}&&=(connect C,&a)?print C"$, ".pop:0;close C}sub h{t"$_ i/"for
keys%k}sub a{$w=~/:/;pack'CxnC4x8',2,$',split'.',$`}sub f{$w=$_,t"$1 $3/"for
keys%k}sub e{open C,'>',$3;print C $'}sub g{open(C,';&h}

Vía aNieto2K