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


in reply to Re^2: IO::Select - reading multiple lines
in thread IO::Select - reading multiple lines

is it a very worse idea to use <$fh> to read from a socket

Yeah, you are best off using sysread, and there are a few ways to use sysread, depending on your situation, you can put it in various staement forms

while( sysread $fh, $str, 8192, length $str ) { #or do { $rc = sysread(FH, $buff, 5000000, length($buff)) ; } while ($rc #or if ( sysread( $cli, $buffer, 1024 ) ) {} # etc etc

I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku ................... flash japh

Replies are listed 'Best First'.
Re^4: IO::Select - reading multiple lines
by nagalenoj (Friar) on Jul 15, 2011 at 12:16 UTC
    sysread returns 0, only when the other end exits. Getting into blocking mode, which is not desired. I expect the program to wait in select not in sysread.