use IO::Socket; use IO::Select; $read_set = new IO::Select(); # create handle set for reading $a = new IO::Socket::INET ( LocalHost => 'localhost', LocalPort => '80', Proto => 'tcp', Listen => 1, Reuse => 1, ); $read_set->add($a); $quit = 0; while ($quit == 0) { foreach $rh ($read_set->can_read(20)) { print "start\n"; my $new_sock = $rh->accept(); $temp = $new_sock->connected(); $temp2 = $rh->connected(); print "-$temp--$temp2-\n"; if ( not defined($new_sock->connected) ) { $quit = 1; last; } while(<$new_sock>) { print $_; } if ( not defined($new_sock->connected) ) { $quit = 1; print "not defined anymore\n"; } sleep 3; print "end\n"; $temp = $new_sock->connected(); $temp2 = $rh->connected(); print "-$temp--$temp2-\n"; } } close($sock);