IO::Socket provides a way to set a timeout on the socket, but the timeout will be used only for connection, not for reading/writing operations. This module provides a way to set a timeout on read/write operations on an IO::Socket instance, or any IO::Socket::* modules, like IO::Socket::INET.