Perl 教程 之 Perl CGI编程 12
Perl CGI编程
什么是CGI
CGI 目前由NCSA维护,NCSA定义CGI如下:
CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。
通过 CGI 程序传递下拉数据
HTML 下拉框代码如下:
test.html 代码
<!DOCTYPE html>
百度 Google
test.cgi 脚本代码如下所示:
test.cgi 代码
!/usr/bin/perl
local ($buffer, @pairs, $pair, $name, $value, %FORM);
读取信息
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}else {
$buffer = $ENV{'QUERY_STRING'};
}
读取 name/value 对信息
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
$site = $FORM{dropdown};
print "Content-type:text/html\r\n\r\n";
print "
print "";
print '';
print '';
print "";
print "";
print "
选择的网站是:$site
";print "";
print "";
1;
浏览器中,执行效果