http://qs321.pair.com?node_id=149011


in reply to IO::Socket should be readable, but isn't....
in thread Answer: IO::Socket should be readable, but isn't....

I'm not certain, but your problem may be related to this caveat from the documentation for select:
WARNING: One should not attempt to mix buffered I/O (like `read' or <FH>) with `select', except as permitted by POSIX, and even then only on POSIX systems. You have to use `sysread' instead.
This is because, although select will tell you that there is some input waiting on the filehandle, there may not be enough input available to fill the buffer used by read() or <FH>. If this happens, the read will block waiting for more input. Switching to sysread() may fix your script.
  • Comment on Answer: IO::Socket should be readable, but isn't....

Replies are listed 'Best First'.
Re: Answer: IO::Socket should be readable, but isn't....
by blogan (Monk) on Mar 03, 2002 at 23:00 UTC
    I knew I couldn't use it with read, but I thought I might be find with using select, because the way POP3 works is that the client or server will never send a partial line. I did use a version that worked using sysread(), the downside was that I want to be able to work with data 1 line at a time. I suppose I can use a system where I use sysread to fill a buffer and then use another function to extract a line from the buffer.
just who is this mysterious monk... QandAEditors???
by particle (Vicar) on Mar 03, 2002 at 23:05 UTC
    interesting... i didn't know QandAEditors could respond to nodes. no home node... how do i see what else you've answered?

    a SuperSearch on QandAEditors as author yields Couldn't find any author by the name of QandAEditors, and a list of links that have little or nothing to do with you. maybe if you had a dingbats symbol, we could track you that way. hrumph.

    ~Particle ;