or download this
if ($client && (vec($eout, fileno($client), 1) || vec($rout, fileno
+($client), 1))) {
my $result = sysread($client, $tbuffer, 1024);
...
my $res = syswrite($client, $cbuffer, $len);
if ($res > 0) { $cbuffer = substr($cbuffer, $res); } else { retur
+n; }
}