Perl 教程 之 Perl CGI编程 10
Perl CGI编程
什么是CGI
CGI 目前由NCSA维护,NCSA定义CGI如下:
CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。
通过CGI程序传递Radio数据
Radio 只向服务器传递一个数据,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;
}
$site = $FORM{site};
print "Content-type:text/html\r\n\r\n";
print "
print "";
print '';
print '';
print "";
print "";
print "
选择的网站 $site
";print "";
print "";
1;
浏览器中,执行效果