I haven't tried the code either, but I may have found some improvements (based on the original code):
$/=$_;($,,$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}
which is 10 bytes shorter. Again, I haven't tested it, but most of it should work... I hope.
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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.