send - send a message over a socket

- NAME
- SYNOPSIS
- DESCRIPTION

# NAME

send - send a message over a socket

# SYNOPSIS

send SOCKET,MSG,FLAGS,TO

send SOCKET,MSG,FLAGS

# DESCRIPTION

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 the perlipc manpage 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 in the perlfunc manpage, or the `open` pragma, the open manpage), 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.

send - send a message over a socket