-
CGI简介:
Cgi脚本以前是应用非常广泛. 现在在Web方面的光辉逐渐被 Asp,Php,Asp.net 等专职的Web脚本所取代.
CGI是Common Gateway Interface(通用网关接口)的简写,它是一个Web服务器主机提供信息服务的标准接口,通过提供这样一个标准接口,Web服务器能够执行应用程序并将它们的输出,如文字、图形、声音等传递给一个Web浏览器。一般来说,CGI标准接口的功能就是在超文本文档与服务器应用程序之间传递信息。如果没有CGI,Web服务器只能提供静态文本或者连接到其它服务器。可以说这样毫不夸张地说,有了CGI,万维网才变得更为实用,界面才变得更为友好,信息服务才变得更为丰富多彩。
CGI是一个连接外部应用程序到信息服务器(比如HTTP或者网络服务器)的标准。一个简单的HTML文档是无交互后台程序,它是静态的,也就是说它处于一个不可变的状态,即文本文件不可以变化。相反地,CGI程序是可以实时执行地,它可以输出动态的信息。
举个例子吧,如果你想把服务器数据 ”挂到”万维网上,并允许世界各地的人可以访问它。基本上,就就需要创建一个CGI程序,它的执行将传递信息给数据库引擎,并且把解雇返回给用户显示出来。这是一个网关的例子。 数据库例子是一个简单的思想,在实际应用过程中更为复杂。实际上没有什么不能挂到网络上面的。但是只有一件事情你必须记住:不管你的CGI程序是怎样,一定不能花太多的时间来处理。否则,用户就做在奔腾机前面静静地等着浏览器的显示结果,这势必伤透了”奔腾的心”。
CGI程序可以用任何的语言来编写,并且可以在Windows/Linux 系统中执行:C/C++,PERL,Visual Basic 等等 实际 Php,Asp 等 也算是一钟Cgi脚本语言.实际上Cgi脚本语言最出色的是Perl.
采取什么的语言依靠你的系统支持什么语言而定的。如果你使用过一个编程语言如C,你就会知道在运行程序之前必须对程序进行编译。如果你进入这个目录,你就会发现一些CGI程序的源代码。但是如果你使用其中一种脚本语言,比如PERL、Asp,脚本就只需要放置在/cgi-bin目录中,因为没有相关的源代码。许多设计人员喜欢使用CGI脚本而不使用编程语言,因为脚本比需要编译的程序语言更容易调试、修改和维护。
Perl 语言简介:
Perl是Practical Extraction and Report Language(实用摘录和报告语言)的简称,非常优秀的CGI脚本语言,是由Larry Wall所发展的。其最新版本为5.6.
Perl的设计目标是帮助UNIX用户完成一些常见的任务,这些任务对于shell来说过于沉重或对移植性要求过于严格。
Perl是按GNU Public License的形式分发的,其实质是免费的,原先运行于UNIX和类UNIX系统,现在已可以方便地在OS/2,Windows 9x,Windows/NT等系统下运行。
Perl是解释运行的,一般Perl程序的第一行需注明自己是一个Perl程序而不是shell程序,所以一般将下面一行语句:
#! /usr/bin/perl
作为文件的第一行。Perl的特性:
"Perl语言在文本处理方面非常突出,它把不同的内容联成一个整体。对于这种脚本语言来说所有的那些不同的元素,看起来都是一样的。”——John Ousterhout,Tcl脚本语言的作者
Perl即“Practical Extraction and Report Language”(实用析取报表语言)。是的,比较粗,但是我想那就是你所得到的——如果你打算确信$HUNN NGOUS CORP并且使用它的话。事实上,Larry Uall< Larry@wall org >(Perl的创立者)在Perl的帮助手册页里提出:“Perl实际上代表的是Pathologically Edectic Rubbish Lister,但不要告诉任何人我这样说过。”唔,他是Larry,对此我又能再说些什么呢?
Perl已经被广泛的认为是“一种拥有各种语言功能的梦幻脚本语言”、“Unix 中的王牌工具”。以及其他的一些类似的称呼,这些都是赞誉之辞,Perl被用来写单行脚本,快速执行程序,大的规划项目(Amazon.com的所有评论产品和控制系统,Netscape的内容策划管理和传送系统,人类整组基因工程的DNA排序以及计划管理等等)。还有数以百万计的令我们惊讶的各种各样的事情的高速程序。Perl还能够实现许多UNIX的公共系统工具的功能(提示:如果你正在学或必须学awk, sed, grep和 tr,我建议你以Perl来代替它们。所有的功能,更快的执行效率,相信你将永远不会因为它的性能发展太快而不适应它。)
Perl允许你建立面向对象的程序。它也可以进行网络操作(例如socket等等),并且有良好的可移植性(一个写得好的脚本可以在Linux,BSD,Solaries,Dos,Win9x,NT,MacOS,OS/2, AnugaOS,VMS等操作系统中不需要任何修改的运行),编写和调试周期很短——由于没有编译的要求,你只需将变化的部分写出,就可以运行脚本。还有数目庞大的可适用于执行任何一项任务的模块(即预建立Perl的例程),Comprehensive Perl Archiue Network (CPAN)就是每一个Perl程序员所能拥有的最好的模块库之一。
总之: Perl 实际应用范围不仅仅是Web脚本程序.实际在应用程序和系统程序开发中都被广泛使用,实际现在Perl在Web方面的应用慢慢被Php,Asp,Asp.net等脚本语言取代
一个简单的Perl程序
就拿各类书籍最常用显示"Hello! Welcome!"程序来说吧。下面是其源程序:
#! /usr/bin/perl
print "你好! 欢迎光临网络教室! \n";这里的第一行说明了这是一个Perl程序,它也是Perl的注释,注释是从#开始至该行结束的所有文字。
第二行是程序的可执行部分,这里只有一条print语句,如果你学过C语言,就能很快掌握它。
2012年4月4日(如有版权问题,请作者与我联系)
- 下一篇:ASP连接access数据库例程 上一篇:asp jmail 发邮件的例子