Perl 教程 之 Perl CGI编程 9
Perl CGI编程
什么是CGI
CGI 目前由NCSA维护,NCSA定义CGI如下:
CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。
通过CGI程序传递checkbox数据
checkbox用于提交一个或者多个选项数据,test.html 代码如下:
test.html 代码
<!DOCTYPE html>
百度
以下为 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;
}
if( $FORM{baidu} ){
$baidu_flag ="ON";
}else{
$baidu_flag ="OFF";
}
if( $FORM{google} ){
$google_flag ="ON";
}else{
$google_flag ="OFF";
}
print "Content-type:text/html\r\n\r\n";
print "
print "";
print '';
print '';
print "";
print "";
print "
百度选中状态 : $baidu_flag
";print "
Google 选择状态 : $google_flag
";print "";
print "";
1;
浏览器中,执行效果