http://www.perlmonks.org?node_id=489038


in reply to Using select() on only one socket

Sorry for stating the obvious if you have done all of the below.

First, you should just try to change the loop to a simple

while (1){ $line = <$socket>; print $line; }
for testing.

If that prints the lines, then I don't know what the problem is.

If that doesn't print anything either, then the problem is probably not in the select loop. It could be that you don't receive complete lines, as others have suggested; or that you don't receive any data on the socket (maybe the other side is waiting for you to send something first); or that you are trying to read from a listening socket (as opposed to an accepted or a connected socket).

Also you have checked that the loop actually starts, the program doesn't hang somewhere before that, haven't you?