Das unten aufgeführte Skript zeigt, wie Umgebungsvariablen mit Informationen über den Server und den Benutzer mittels der Programmiersprache Perl ausgelesen werden können.

Fügen Sie den nachfolgenden Code in eine Textdatei ein und  speichern Sie diese mit der Endung .pl ab. Laden Sie die Datei dann auf Ihren Webspace hoch und rufen Sie das Skript über Ihren Browser auf.

#!/usr/bin/perl -w
#
# V 1.0 / 13.02.2001
#

use CGI qw/:standard fatalsToBrowser/;
use strict;

print header();
print start_html( -title => 'Umgebungsvariablen mit Perl auslesen',
-author => 'support@hosting.1und1.de');

print p("Die meisten Informationen, die ein CGI-Programm benötigt, werden durch Umgebungsvariablen zur Verfügung gestellt. Auf diese Variablen kann auf
die selbe Weise wie auf jede andere Umgebungsvariable zugegriffen werden (in Perl über den %ENV-Hash). Die folgende Tabelle listet die die f�r ein CGI-Skript
üblicherweise verfügbaren Umgebungsvariablen auf.");

print table(
{-border=>'1'},
Tr(
[
th(['Umgebungsvariable','Inhalt','Wert bei diesem Zugriff']),

td(['AUTH_TYPE','Die Authentifizierungsmethode, die benutzt wurde, um den Benutzer zu überprüfen',"$ENV{'AUTH_TYPE'}"]),

td(['CONTENT_LENGTH','Die Länge der übertragenen Formularinformationen',"$ENV{'CONTENT_LENGTH'}"]),

td(['CONTENT_TYPE','Das Format der Formulardaten',"$ENV{'CONTENT_TYPE'}"]),

td(['DOCUMENT_ROOT','Das Basisverzeichnis aller Webdokumente Ihrer Präsenz',"$ENV{'DOCUMENT_ROOT'}"]),

td(['GATEWAY_INTERFACE','Die Version des verwendeten CGI-Protokolls',"$ENV{'GATEWAY_INTERFACE'}"]),

td(['HTTP_ACCEPT','Eine Listen von Formaten, die Ihr Browser akzeptiert',"$ENV{'HTTP_ACCEPT'}"]),

td(['HTTP_COOKIE','Liste der übertragenen Cookies',"$ENV{'HTTP_COOKIE'}"]),

td(['HTTP_FROM','Ihre E-Mail-Adresse, welche in Ihrem Browser definiert wird',"$ENV{'HTTP_FROM'}"]),

td(['HTTP_REFERER','Die zuletzt besuchte Webseite',"$ENV{'HTTP_REFERER'}"]),

td(['HTTP_USER_AGENT','Name des verwendeten Browsers',"$ENV{'HTTP_USER_AGENT'}"]),

td(['PATH_INFO','Pfad des CGI-Skriptes auf der Präsenz',"$ENV{'PATH_INFO'}"]),

td(['PATH_TRANSLATED','absoluter Pfad des CGI-Skriptes',"$ENV{'PATH_TRANSLATED'}"]),

td(['QUERY_STRING','Die Formulardaten, die an das Skript übergeben werden',"$ENV{'QUERY_STRING'}"]),

td(['REMOTE_ADDR','Die IP-Adresse des Benutzers',"$ENV{'REMOTE_ADDR'}"]),

td(['REMOTE_HOST','Die aufgelöste IP des Benutzers','<font color="brightred">bei PureTec deaktiviert !</font>']),

td(['REMOTE_IDENT','Name des Benutzers des Browsers (UNIX)',"$ENV{'REMOTE_IDENT'}"]),

td(['REMOTE_USER','Name des Benutzers nach einer Authentifizierung',"$ENV{'REMOTE_USER'}"]),

td(['REQUEST_METHOD','Die Methode, die für die Anfrage benutzt wurde',"$ENV{'REQUEST_METHOD'}"]),

td(['SCRIPT_NAME','Virtueller Pfad des Skriptes',"$ENV{'SCRIPT_NAME'}"]),

td(['SERVER_NAME','Name des (virtuellen) Servers',"$ENV{'SERVER_NAME'}"]),

td(['SERVER_PORT','Serverseitige Portnummer',"$ENV{'SERVER_PORT'}"]),

td(['SERVER_PROTOCOL','Name und Version des verwendeten &#65533;bertragungsprotokolls',"$ENV{'SERVER_PROTOCOL'}"]),

td(['SERVER_SOFTWARE','Name und Version des HTTP-Servers',"$ENV{'SERVER_SOFTWARE'}"])
]
)
);

print p("Leere Variablen, werden erst bei einem wirklichen Aufruf als CGI-Skript gefüllt");
print p("Der <a href=\"enviro_highlight.html\">Sourcecode</a> dieser Seite zeigt die Abfrage dieser Variablen und den Einsatz des Modules CGI bei der Erstellung
dynamischer Seiten");
print hr;
print p("Die Aufstellung der Variablen wurde dem exzellenten Buch <a href=\"http://www.oreilly.de/catalog/pnutger/\">Perl in a Nutshell</a> entnommen");


end_html;<LINK - href=\"http://www.oreilly.de/catalog/pnutger/\">