CGI Environment Variables

Most of the information needed by CGI programs is made available via Unix environment variables. Programs can access this information as they would any environment variable (via the %ENV hash in Perl). The table below lists environment variables commonly available through CGI. However, since servers occasionally vary on the names of environment variables they assign, check with your own server documentation for more information.

Environment variable

Content returned

AUTH_TYPE

The authentication method used to validate a user. See REMOTE_IDENT and REMOTE_USER.

CONTENT_LENGTH

The length of the query data (in bytes or the number of characters)passed to the CGI program through standard input.

CONTENT_TYPE

The media type of the query data, such as text/html.

DOCUMENT_ROOT

The directory from which web documents are served.

GATEWAY_INTERFACE

The revision of the Common Gateway Interface that the server uses.

HTTP_ACCEPT

A list of the media types that the client can accept.

HTTP_COOKIE

A list of cookies defined for that URL.

HTTP_FROM

The email address of the user making the query (many browsers do not support this variable).

HTTP_REFERER

The URL of the document the client read before accessing the CGI program.

HTTP_USER_AGENT

The browser the client is using to issue the request.

PATH_INFO

Extra path information passed to a CGI program.

PATH_TRANSLATED

The translated version of the path given by the variable PATH_INFO.

QUERY_STRING

The query information passed to the program. It is appended ...

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.