Last month,
hossman posted about
MoleSter. At the time is was 625 chars. It's now down to 466:
$/=$_;$,=shift;$w=$a=shift;$k{+shift}=1;socket S,2,1,6;bind S,&a;for(l
+isten
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/"
+.<C>;&h}
Just having a quick glance, I *think* I've knocked another 9 characters off:
sub a{$w=~/:/;pack'CxnC4x8',2,$',split'\.',$`}sub i{}sub t{socket C,2,
+1,6;$k{$w}&&=(connect C,a)?print C"$, ".pop:0;close C}sub h{t"$_ i/"f
+or keys%k}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}$/=$_;$,=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)}
but I'm not sure because I haven't tried to get the original to do anything useful :)
So, do my changes still leave it working? And can anyone rip out a few more characters?
cLive ;-)
update: OK, damn, this is harder than it looks. Hmmm.