use strict;
use lib '/wasd_root/src/perl/cgipm';
require CGI;
use CGI qw(:standard);

new CGI;

# declare the names of the CGI variables we want to make public
# (this is done to limit the displayed environment variables to CGI)
my %cgiVariables =
(
"AUTH_REMOTE_USER"=>0,"CONTENT_LENGTH"=>0, "CONTENT_TYPE"=>0,
"DOCUMENT_ROOT"=>0, "GATEWAY_BG"=>0, "GATEWAY_INTERFACE"=>0, "GATEWAY_MRS"=>0,
"HTTP_ACCEPT"=>0, "HTTP_ACCEPT_CHARSET"=>0, "HTTP_ACCEPT_ENCODING"=>0,
"HTTP_COOKIE"=>0, "HTTP_FORWARDED"=>0, "HTTP_HOST"=>0,
"HTTP_IF_NOT_MODIFIED"=>0, "HTTP_LANGUAGE"=>0, "HTTP_PRAGMA"=>0,
"HTTP_REFERER"=>0, "HTTP_USER_AGENT"=>0, "PATH_INFO"=>0, "PATH_ODS"=>0,
"PATH_TRANSLATED"=>0, "QUERY_STRING"=>0, "REMOTE_ADDR"=>0, "REMOTE_HOST"=>0,
"REMOTE_PORT"=>0, "REMOTE_USER"=>0, "REQUEST_METHOD"=>0, "REQUEST_SCHEME"=>0,
"REQUEST_TIME_LOCAL"=>0, "REQUEST_TIME_GMT"=>0, "REQUEST_URI"=>0,
"SCRIPT_FILENAME"=>0, "SCRIPT_NAME"=>0, "SERVER_ADMIN"=>0, "SERVER_ADDR"=>0,
"SERVER_CHARSET"=>0, "SERVER_GMT"=>0, "SERVER_NAME"=>0, "SERVER_SOFTWARE"=>0,
"SERVER_PROTOCOL"=>0, "SERVER_PORT"=>0, "SERVER_SIGNATURE"=>0, "UNIQUE_ID"=>0
);

print "Content-Type: text/plain

Hello out there ... This is PERLRTE_EXAMPLE3.PL

*** LOADS CGI.PM ***

perlRTEcache=\"$main::perlRTEcache\"
perlRTEcount=\"$main::perlRTEcount\"
perlRTEversion=\"$main::perlRTEversion\"

CGI Environment
---------------
";

if ($ENV{KEY_1}) {
   printf ("bye ...\n");
   exit (0);
}

# sort the keys (names) of the CGI variables to be made public
my @cgiVar = sort (keys %cgiVariables);

# lookup the value in the ENV associative array
for my $key (@cgiVar) {
   printf ("$key = \"%s\"\n", $ENV{"$key"});
}