while(my $new_sock = $sock->accept()) { my $buffer; my $len = read $new_sock, $buffer, 4096; for(;;) { if(defined $len) { last unless $len; print "Read $len chars\n"; print "Data [" . substr($data, 0, $len) ."]\n"; } else { warn "An error occured while reading: $!\n"; last; } $len = read $new_sock, $buffer, 4096; } }