Sends a message on a socket. Attempts to send the scalar MSG to the
SOCKET filehandle. Takes the same flags as the system call of the
same name. On unconnected sockets you must specify a destination to
send TO, in which case it does a C sendto
. Returns the number of
characters sent, or the undefined value if there is an error. The C
system call sendmsg(2) is currently unimplemented. See
UDP: Message Passing in perlipc for examples.
Note the characters: depending on the status of the socket, either
(8-bit) bytes or characters are sent. By default all sockets operate
on bytes, but for example if the socket has been changed using
binmode() to operate with the :utf8
I/O layer (see open, or the
open
pragma, open), the I/O will operate on UTF-8 encoded
Unicode characters, not bytes. Similarly for the :encoding
pragma:
in that case pretty much any characters can be sent.