in reply to MoleSter update - Golf
which is 10 bytes shorter. Again, I haven't tested it, but most of it should work... I hope.$/=$_;($,,$a,$c,@_)=@_;$k{$c}=$w=$a;socket S,2,1,6;bind S,&a;for(liste +n S,5;$SIG{ALRM}=i;m! (\S+) ([e-i])(.*?)/!s&&($k{$w=$1}=$`eq$,)&&&$2){al +arm 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;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/" +.<C>;&h}
Why is the match in line 2 done with m!..!s? In the original code, there is no '.', so the s modifier is useless. It may be necessary in my code, however.
Eugene
|
|---|