来源:linux宝库作者:linux宝库 发布时间:2007-09-30 00:00:00


今天算是进入正题了,因为我们这个教程的名字就叫做“CGI编程”吗在CGI模块诞生之前,写CGI程式是一件很令人自豪的事情,因为只有那么一小撮人会。但是后来CGI模块诞生了,整个世界发生了令人感到恐怖的变化,人人都能够编CGI程式了,555...。在Perl中我们使用一个名为CGI.pm 的模块来进行CGI的编程,在其中提供了许多现成的东西供我们使用,下面我们通过两个简单的例子对CGI模块的基本功能有一个初步的了解。
先来看一看一个基本的Perl-CGI程式。这个程式和我们以前见到的Perl程式有点不太相同,但是熟悉c++的朋友应该不会有问题的。
#!/usr/bin/perl -w
use CGI;
{
my $q = new CGI;
print $q->header(),
$q->start_html("hello perl world!"),
$q->h1(’hello perl world’),
$q->end_html();
}
这里出现了一句“use CGI;”这一句是很重要的。我们通过use这个关键字引入了CGI模块,注意一定要用大写。这里绝大部分工作都是由CGI模块来完成的。
然后我们进行了这么一项工作:“my $q= new CGI;”这一句产生了一个新的CGI对象。new是个新的语句,这个语句是由CGI模块提供的,Perl语言并不提供new这个语句。但是受到C++ 的影响,很多perl模块都提供new语句。我们能够通过new创建一个新的CGI模块。
随后是个很长的print语句,注意这里面用的是逗号,Perl里面能够通过逗号顺序执行一系列的语句。我们执行的第一句是“$q- >header();”这一句将会产生一个http反应头,这个函数是能够使用参数的,通过不同的参数我们能够给浏览器返回不同的状态,例如下面的语句将会使浏览器以为发生了内部错误:“$q->header(500);”这里500是http respons的一个代号,代表服务器发生内部错误。
然后下面一句是“$q->start_html("hello perl world!"),”这一句将会产生如下的Html代码:
我们还能够通过给start_html参数来进行其他的html文档head段配置。
然后我们运行了“$q->h1(’hello perl world’),”这一句能够得到如下Html代码:
hello Perl world
最后一句是“ $q->end_html();”这一句产生如下下代码“”,一个Html文档就这么结束了。
下面我们用一个例子解释CGI模块怎么处理用户的输入:
#!/usr/bin/perl -w
use CGI qw/:standard/;
{
my $cgi= new CGI;
print $cgi->header,
$cgi->start_html(’A Simple Example’),
$cgi->h1(’A Simple Example’);
if ( $cgi->param())
{
print "Your name is ",
$cgi->param(’name’);
}
$cgi->end_html();
}
假如在这个程式地url后面加上“?name=cyfer”就会打印出来“your name is cyfer”,呵呵。这里通过“$cgi->param("name");”这一句能够得到传递给CGI程式的参数。这个参数在没有CGI模块的时代要费多大劲才能够得到啊!555...
|
还没有关于此文章的相关评论!