in reply to Re: Distinguishing sysread() and read() in tied handles
in thread Distinguishing sysread() and read() in tied handles

The difference described in the perl docs is that Perl sysread() uses the read() system call, whereas Perl read() uses the fread() call or Perl's equivalent. In the majority of common UNIX systems, it is not an error for the read() system call to return fewer than the requested number of bytes (see the read(2) manpage) if not that many bytes have arrived yet. Unfortunately, several modules that will depend on the one I'm working on take advantage of this quirky behavior, and it's not in my power to change them.