in reply to Re^4: About non-blocking sockets
in thread About non-blocking sockets

Any method of reading can block if a filehandle is in blocking mode. So simply changing the function used to read the data won't help.
If you can set non blocking mode on your socket it would let you continue using readline(a.k.a. <$filehandle>), but not all systems are created equal and some may not be as non blocking as you whould like. (For example it is my experiance that sockets could not be made compleatly non blocking on a Win98 system.)
The alternative to non blocking IO is to poll the filehandle to see if it has data to read, or can accept data for writeing. Most event frameworks like those in GUI systems or POE handle most of the work for you. The alternative is to use the 4 arg version of select or the OO wrapper around it IO::Select.