You are viewing the version of this documentation from Perl 5.31.1. This is a development version of Perl.
recv SOCKET,SCALAR,LENGTH,FLAGS

Receives a message on a socket. Attempts to receive LENGTH characters of data into variable SCALAR from the specified SOCKET filehandle. SCALAR will be grown or shrunk to the length actually read. Takes the same flags as the system call of the same name. Returns the address of the sender if SOCKET's protocol supports this; returns an empty string otherwise. If there's an error, returns the undefined value. This call is actually implemented in terms of the recvfrom(2) system call. See "UDP: Message Passing" in perlipc for examples.

Note that if the socket has been marked as :utf8, recv will throw an exception. The :encoding(...) layer implicitly introduces the :utf8 layer. See binmode.