sysread( $sock, $buf, 32*1024, length($buf) ) or do { $sel->remove( $sock ); next; }; while ( my ($msg) = $buf =~ s/^(...)// ) { process($msg); }