Built-in Socket Functions

Perl provides built-in support for sockets. The following functions are defined specifically for socket programming. For full descriptions and syntax, see Chapter 5.

socket

Initializes a socket and assigns a filehandle to it.

bind

For servers, associates a socket with a port and address. For clients, associates a socket with a specific source address.

listen

(Server only.) Waits for incoming connection with a client.

accept

(Server only.) Accepts incoming connection with a client.

connect

(Client only.) Establishes a network connection on a socket.

recv

Reads data from a socket filehandle.

send

Writes data to a filehandle.

shutdown (or close)

Terminates a network connection.

Regular functions that read and write filehandles can also be used for sockets, e.g., write, print, printf, and the diamond input operator, <>.

The socket functions tend to use hardcoded values for some parameters, which severely hurts portability. Perl solves this problem with a module called Socket, included in the standard library. Use this module for any socket applications that you build with the built-in functions (e.g., use Socket). The module loads the socket.h header file, which enables the built-in functions to use the constants and names specific to your system’s network programming, as well as additional functions for dealing with address and protocol names.

The next few sections describe Perl socket programming using a combination of the built-in functions together with the Socket module. ...

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.