SERVER_NAME         CGI脚本运行时的主机名和IP地址.
SERVER_SOFTWARE     你的服务器的类型如: CERN/3.0 或 NCSA/1.3.
GATEWAY_INTERFACE   运行的CGI版本. 对于UNIX服务器, 这是CGI/1.1.
SERVER_PROTOCOL     服务器运行的HTTP协议. 这里当是HTTP/1.0.
SERVER_PORT         服务器运行的TCP口,通常Web服务器是80.
REQUEST_METHOD      POST 或 GET, 取决于你的表单是怎样递交的.
HTTP_ACCEPT         浏览器能直接接收的Content-types, 可以有HTTP Accept header定义.
HTTP_USER_AGENT     递交表单的浏览器的名称、版本 和其他平台性的附加信息。
HTTP_REFERER        递交表单的文本的 URL,不是所有的浏览器都发出这个信息,不要依赖它
PATH_INFO           附加的路径信息, 由浏览器通过GET方法发出.
PATH_TRANSLATED     在PATH_INFO中系统规定的路径信息.
SCRIPT_NAME         指向这个CGI脚本的路径, 是在URL中显示的(如, /cgi-bin/thescript).
QUERY_STRING        脚本参数或者表单输入项(如果是用GET递交). QUERY_STRING 包含URL中问号后面的参数.
REMOTE_HOST         递交脚本的主机名,这个值不能被设置.
REMOTE_ADDR         递交脚本的主机IP地址.
REMOTE_USER         递交脚本的用户名. 如果服务器的authentication被激活,这个值可以设置。
REMOTE_IDENT        如果Web服务器是在ident (一种确认用户连接你的协议)运行, 递交表单的系统也在运行ident, 这个变量就含有ident返回值.
CONTENT_TYPE        如果表单是用POST递交, 这个值将是 application/x-www-form-urlencoded. 在上载文件的表单中, content-type 是个 multipart/form-data.
CONTENT_LENGTH      对于用POST递交的表单, 标准输入口的字节数.

例:HTML


       
          HTML Form Example
         
       
       
         


           

Your First Name:


           


           

Your Last Name:


           


           

Check if you are a student:


           


           

What is your gender?


           


              Male
              Female
           


           

How many moons are there on your planet?


           


           
           


           

Comments:


           


           

Hidden Data!


           


           

Submit this Form


           


           

Reset this Form


           


       

     
   

2.lesson2.pl

#!/usr/bin/perl

use strict;
use CGI;
my $cgi = new CGI;
print
    $cgi->header() .
    $cgi->start_html( -title => 'Form Results',
                      -author => 'Craig Kelley',
                      -style => '/~ink/perl_cgi/css/perlcgi.css') .
    $cgi->h1('Form Results') . "\n";
    my @params = $cgi->param();
    print '

' . "\n";
    foreach my $parameter (sort @params) {
    print "\n";
    }
    print "
$parameter" . $cgi->param($parameter) . "
\n";
    print $cgi->end_html . "\n";
    exit (0);