Perl 教程 之 Perl CGI编程 11
Perl CGI编程
什么是CGI
CGI 目前由NCSA维护,NCSA定义CGI如下:
CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口。
通过CGI程序传递 Textarea 数据
Textarea 向服务器传递多行数据,test.html 代码如下:
test.html 代码
<!DOCTYPE html>
<br>在这里输入内容...<br>
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;
}
$text_content = $FORM{textcontent};
print "Content-type:text/html\r\n\r\n";
print "
print "";
print '';
print '';
print "";
print "";
print "
输入的文本内容为:$text_content
";print "";
print "";
1;
浏览器中,执行效果