Как мне установить `SO_RCVTIMEO` для сокета в Perl?

Если я попытаюсь так:

my $sock = IO::Socket::INET->new( … )                    or die "no socket for you";
defined $sock->setsockopt(SOL_SOCKET, SO_RCVTIMEO, 30)   or die "setsockopt: $!";

тогда мой скрипт подвергается смерти от "setsockopt: Неверный аргумент в [строка 2]".IO::Socket а такжеperlfunc pods не говорят, хотя perlfunc приводит пример сTCP_NODELAY что делает это похоже на то, что выше должно работать.

(быстрое примечание: Я ответил на свой собственный вопрос, как мог, но, конечно, приветствую лучший ответ. Самым очевидным «лучше» было бы, чтобы он был переносимым, по крайней мере на машинах POSIX