возвращаемое значение функции recv() в perl

У меня есть неблокирующий сокет 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 это непечатаемый символ

Это кажется элементарной проблемой. Тем не менее, я до сих пор не могу найти информацию в гугле или о переполнении стека. Спасибо за любую информацию

5
задан Glen Solsberry 29 August 2014 в 19:01
поделиться