Many people, myself included, want to use non-blocking I/O with SSL. Some people have nice writeups how to do it, but each one I've seen comes with unacceptable limitations. This is currently a major hole in Perl network programming. So my main feature request would be a simple-as-possible, official description of what exactly must be done for non-blocking I/O, which error codes need to be checked where, etc. I'm happy to help with this writeup if I can get the needed information. At the moment I think I'd have a solution, if I could only get the return code from SSL_read() (Net::SSLeay::read() only returns the gotten data). I need this return code to use with Net::SSLeay::get_error(), to detect SSL_ERROR_WANT_READ and the other error codes. Is there a way to get this return code from SSL_read()? If not, could we perhaps add it to the return value of Net::SSLeay::read(), i.e. return a two-item array when wantarray? Also, improving the documentation on error-handling in Net::SSLeay would yield great benefits, I think. Again, I'm willing to help with this if I can get the needed info-- e.g. what's the deal with $! ? How should die_now(), die_if_ssl_error(), and print_errs() be called, and what are their return values? Thanks very much for any help. I'm currently stuck on this.