Environment Variables
Every request from a browser brings a raft of information with it to Apache, which reappears as environment variables. It can be very useful to have a subroutine like this:
sub print_env { foreach my $e (keys %ENV) { print "$e=$ENV{$e}\n"; } }
If you call it at the top of a web page, you see something like this on your browser screen:
SERVER_SOFTWARE = Apache/1.3.9 (Unix) mod_perl/1.22 GATEWAY_INTERFACE = CGI/1.1 DOCUMENT_ROOT = /usr/www/APACHE3/MedicPlanet/site.medic/htdocs REMOTE_ADDR = 192.168.123.1 SERVER_PROTOCOL = HTTP/1.1 SERVER_SIGNATURE = REQUEST_METHOD = GET QUERY_STRING = HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) PATH = /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin: /usr/X11R6/bin:/root/bin HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */* HTTP_CONNECTION = Keep-Alive REMOTE_PORT = 1104 SERVER_ADDR = 192.168.123.5 HTTP_ACCEPT_LANGUAGE = en-gb SCRIPT_NAME = HTTP_ACCEPT_ENCODING = gzip, deflate SCRIPT_FILENAME = /usr/www/APACHE3/MedicPlanet/cgi-bin/MP_home SERVER_NAME = www.Medic-Planet-here.com PATH_INFO = / REQUEST_URI = / HTTP_COOKIE = Apache=192.168.123.1.1811957344309436; Medic-Planet=8335562231 SERVER_PORT = 80 HTTP_HOST = www.medic-planet-here.com PATH_TRANSLATED = /usr/www/APACHE3/MedicPlanet/cgi-bin/MP_home/ SERVER_ADMIN = [no address given
All of these environment variables are available to your ...
Get Apache: The Definitive Guide, 3rd 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.