Inicio > Programación > P2P en 6 lí­neas de perl

P2P en 6 lí­neas de perl

Viernes, 13 de Abril de 2007

Impresionante el código del P2P en perl, en tan sólo 6 lí­neas. Aunque hay una versión más larga y explicada.
$/=$_;$,=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,'<',$3)&&t"$a e$3/".;&h}

Visto en aNieto2K.

Programación

  1. Sin comentarios aún.
  1. Sin trackbacks aún.