| 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 to the URL following a question mark (?).
|
| REMOTE_ADDR
| The remote IP address from which the user is making the request.
|
| REMOTE_HOST
| The remote hostname from which the user is making the request.
|
| REMOTE_IDENT
| The user making the request.
|
| REMOTE_USER
| The authenticated name of the user making the query.
|
| REQUEST_METHOD
| The method with which the information request was issued (e.g., GET, POST, HEAD).
|
| SCRIPT_NAME
| The virtual path (e.g., /cgi-bin/program.pl) of the script being executed.
|
| SERVER_NAME
| The server's hostname or IP address.
|
| SERVER_PORT
| The port number of the host on which the server is running.
|
| SERVER_PROTOCOL
| The name and revision number of the server protocol.
|
| SERVER_SOFTWARE
| The name and version of the server software that is answering the client request. |
Here's a simple Perl CGI script that uses environment variables to display various information about the server:
The preceding program outputs five environments as an HTML document. In Perl, you can access the environment variables with the %ENV hash. Here's typical output of the program: