У меня есть неблокирующий сокет UDP в Perl, созданном таким образом
my $my_sock = IO::Socket::INET->new(LocalPort => $MY_PORT,
Proto => 'udp',
Blocking => '0') or die "socket: $@";
Вызов recv
my $retValue = $sock->recv($my_message, 64);
Мне нужно знать а) когда не осталось данных для чтения б) если есть данные, сколько данных было прочитано c) какие-либо ошибки
Удивительно, но я не увидел никакого возвращаемого значения для recv в perldoc. Когда я пробовал это сам, recv возвращает undef в (a), для b это непечатаемый символ
Это кажется элементарной проблемой. Тем не менее, я до сих пор не могу найти информацию в гугле или о переполнении стека. Спасибо за любую информацию