... Event-driven I/O works best for filehandles that have been placed into nonblocking mode. In blocking mode, a "print" command may block if you give it more data than the under­ lying file or device can accept, and a "<>", "sysread" or "read" command will block if you attempt to read more data than is ready; no events will be processed while the com­ mands block. In nonblocking mode "print", "<>", "sysread" and "read" never block. See the documentation for the individual commands for information on how they handle blocking and nonblocking filehandles.