发信人: tanshuai()
整理人: workingnow(2002-10-30 13:55:40), 站内信件
|
PERL 语言初学入道篇
====================================================================== ===========================================================
作者:天水 E-Mail: [email protected] Http://ts.in-china.com
====================================================================== ============================================================
Perl语言开课了,我会不定期的为大家提供好的文章!第一期 是 PERL 语 言初学入道篇! Let's GO TO Learn!!!
本篇文章将会初步讲到Perl语言的编写方法,一共3篇,每日期一篇!对于高手 来说可以复习一下,对于初学者来说可以了解和编写基本的Perl语言程序!
<一>Perl与CGI编写介绍及其基本条件
本文将会详细的介绍Perl的基本编写调试和使用方法,让你对Perl有一个全面的 了解。
本节介绍Perl和基本调试编写条件预备条件。
介绍
随着网络日新月异个发展,网络技术也飞快的进步,原来的HTML语言给我们 带来了无数的方便,可是人们随着人们的要求不断提高,现在的网页Html已经今 非昔比,要想在服务上面超过对手,就要有在Perl程序的帮忙,这不但给用户带 来的方便,也给商家较少了时间,节省了不少大洋。用Perl程序可以实现网上购 物、聊天、讨论、在线申请等多项不同网页大不到的服务,为我们的提供了更好 的服务!
1.CGI概述
CGI是Common Gateway Interface 的简 称 。 其主要的功能是在WWW环境下 , 藉由从客户端传递一些讯息给WWW Server , 再由 WWW Server 去启动所指 定的程式码来完成特定的工作。所以更明确的说,CGI仅是在WWW Server上可执行 的程式码,而她的工作就是控制讯息要求而且产生并传回所需的文件。撰写CGI的 语言程式为之广泛, Perl, C, C++, Visual Basic, TCL, REXX, Python , Icon, AppleScript, Active X 等.......。
而我们在此说明Perl程式语言,因为它是迄今为止较为通用流行的语言之一!
2.使用Perl 有甚麼好处?
Perl 在CGI程式设计上非常的受欢迎,当然这其中必有它的好处在,Perl很 容易学习,它支援描述式写法,所以撰写程式在速度上能够很快速。
它擅长馀处理文字档案,及HTML文件,对於字串的处理,匹配及文字格式化提供 了健全的处理能力。
它的弹性化档案输入及输出常式.存取作业系统命令及程式库,很容易在TCP/IP 这个最基本的网际网路协定上发送以及接收资料的能力,都使得Perl非常适合在 CGI上使用。
3.PERL概述
PERL是由Larry Wall于1986年,为了能在UNIX下处理多个文本文件,以便生成 报表而开发的,而且是免费的,比较流行的版本有:4.0或者5.0.PERL是一种解释性 语言,与C或C++不同:它需要一个专门的解释器,用PERL写的程序,由于它被解释器 读取,并运行,所以人们常称之为PERL SCRIPTS(PERL脚本文件),PERL与C等高级语 言相比,其最大的优势在于程序员能够非常轻松的处理和控制文本,功能十分强大 .早期的PERL是UNIX下利器,不过现在的PERL可以运行在很多的平台上,包括WIN95 /98/NT、Liunx、MS-DOS等,PERL是最有效的开发WEB程序的工具之一,无数的WWW网 站上,都运行了各式各样的PERL程序.
4.Perl CGI编写工具!
至目前为止还没有较好的Perl CGI界面编写程序,一般来说都使用文本编辑 器或可以显示Perl代码的编辑器,对于经常使用界面华的编程员可能觉得有些枯燥 ,其实不然,当你在浏览器看到你的工作成功你会感到无比的快乐!
一般编写Perl CGI的程序,以下几种为好:
名称 介绍 下载
UltraEdit——非常好的文本编辑器,可以编辑Perl、Html等文件,支持中文较好 。 Http://www.ultraedit.com
EditPlus——同上 Http://www.ilike.com.cn
Perl Builder——专门编写Perl程序的软件性能好 Http://www.solutionsoft.c om
5.Perl 编译程序
因为Perl是个需要专门的解释器的程序,所以想要使其运行不需要Per l编译器!一般在Windows上面为流行的是ActivePerl(下载地址:http://www.a ctivestate.com/)、Perl For Win32,他可以编译大多数的Perl脚本!在Unix下 有编译程序,一般情况在/usr/bin/目录中。Liunx下面一般情况下只要Apache服 务器都有Perl编译器。不过Perl编译器和版本众多,不是所有的都兼容,比如有 的时候在Windows下编译的程序在Unix下就运行不了,所以你在选择编译器的时候 最好和你的服务器一致。现在较为流行的版本是4.0-5.005。
6.CGI基本编写
CGI编写一般除了需要浏览地址外还要绝对路径!绝对路径就是你的主页上 的目录在硬盘上真正的路径,相对路径其实就是URL。
<1>首页呼唤Perl的绝对路径:
服务器要调用CGI里面所给的Perl编译路径,然后启动Perl程序来编译C GI。一般情况下Unix、Liunx主机的Perl程序绝对路径是/usr/bin/perl,Window s下按安装目录为本,如ActivePerl的默认安装目录是C:\Perl,那Perl程序路径 就是c:/perl/bin/perl,如果在autoexec.bat那里加入了AcitvePerl 编译路径的 Path,就可以直接写入Perl即可,CGI程序写法#!<路径名>。
<2>主机发信程序绝对路径:
一般用CGI发邮件的时候要使用。一般情况下Unix、Liunx主机的发信程序绝对路 径是/usr/sbin/sendmail,Windows下的发送程序还不完善,这个要看程序本身的 说明。
<3>主机时间程序:
因为在编写某些程序的时候会调用时间,一般情况下Unix、Liunx主机的主机 时间程序绝对路径是/bin/date,Windows下面Perl程序会自动提取。
<4>程序本身绝对路径:
编写程序的时候要绝对路径,是因为该程序要在主机上管理文件, 一般Un ix、Liunx的绝对值都是自己社定,Windows也是只是在Windows下面要加入盘符。
5.WWW 服务器
这个在网易虚拟社区发表过,在此只是做了一些小小的更改!
使用CGI一定要有网页服务器,它可以直接把CGI的页面显示在浏览器上。选择好 的服务器,将会对Perl编译的效率、速度有着一定的影响。以下我将介绍几个常 用服务器给广大读者,和详细的调试说明。
如何在WIN95/98/NT上调试CGI程序
方法一:
适合于入门者
支持CGI:大型的CGI程序无法调试,和复杂的CGI程序编译速度慢!
安装sambar4.2(约占3M空间)
安装简单,无需任何设置即可使用,但对某些perl函数的支持稍差
sambar4.2是一个小型服务器软件,自带perl5,支持ssi,无需安装perl for win32
安装后把cgi文件拷到/sambar/cgi-bin/目录,并把文件名改为*.pl(sambar4.2只 执行以pl结尾的cgi脚本,主页文件拷到/sambar/docs/目录,在浏览器输入你的ht tp://主机名或http://127.0.0.1/的域名就可调用/sambar/docs目录下主页文件 ,输入http://主机名/cgi-bin/*.pl就可调用/sambar/cgi-bin/目录下的cgi脚本 . 注意把CGI脚本的第一行#!去掉,否则会出现无法编译的错误!
方法二:
适合于初学者
安装perl for win32(Activeperl 5.00503) (10兆空间)然后安装 omnihttpd 2. 02(2M空间)
支持cgi程度: 较好
omnihttpd也是一个微型服务器软件同样支持perl5,ssi,win-cgi
把主页文件拷到 httpd/htdocs 目录,cgi脚本拷到httpd/cgi-bin目录即可通过浏 览器调用,注意:有些网友有一个误区,认为安装了perl for win32就可在windows 上通过双击文件运行,这是不对的,因为是脚本文件,故只能在浏览器调用,这也是 为何要装服务器软件的原因.
方法四:
高级程序员!
1.安装微软的(win98为PWS4.0,winnt为IIS4.0)服务器(约占30M空间)
2.安装 perl for win32(Activeperl 5.00503 ) (占10M)
支持cgi程度: 较好,但不支持使用UNIX进程和函数编制的CGI程序
虚拟根目录为c:/inetpub/wwwroot/ , 把c:/inetpub/wwwroot/cgi-bin目录设置 为可执行该种配置的不但支持cgi,另外还完全支持ASP哦!!!!!!
如果以上方法不能调试cgi,则还得对注册表动一下手脚:
运行regedit
找到: HKEY_LOCAL_MACHINE\System\Currentcontrlset
\Services\W3svc\Parameters\ScriptMap\ 目录
增加以下键值:
键名: ".cgi" 键值: "C:\PERL\BIN\perl.exe %s %s"
重新开机,一切ok!!!
或者是对服务器的配置做一些改动
高级方法:
商业用户!
1.安装Apache 1.3.6服务器 (约3兆) 下载地址:http://www.apache.org/
2.安装 perl for win32(Activeperl 5.00503 ) (占10M)
支持cgi程度: 非常好,几乎可以运行所有CGI程序,但是从这里编译的了的程序 ,但是在其它服务器上可能不行。
注意事项:
1、安装APACHE,注意:安装路径一定要装在硬盘根目录\AP下,即c:\ap 等!!
不要装在Program Files下,这样设定绝对路径方便很多,越短越好!
2、装好后,在APACHE下有一个CONF目录,里面有个HTTPD.CONF文件,必须要先设 置好它们才能启动CGI。
(1) 寻找ServerAdmin,把后面的EMAIL改为你自已的EMAIL,这个改不改不是很重 要。
(2)寻找ServerName, 把前面的#号去掉,后面改为你的域名
(3)寻找<Directory />,往下面有一句Options,
把后面的参数全去掉,加一个All,注意大小写呵。再往下有一句AllowOverride ,也
把后面的None去掉,加一个All
(4)寻找<Directory "你安装APACHE的盘符:/Ap/htdocs">,往下面第八行有一句 Options,
把后面的参数全去掉,加一个All,注意大小写呵。再往下数行有一句AllowOver ride,也
把后面的None去掉,加一个All
(5)寻找#ScriptAlias /cgi-bin/ "C:/Ap/cgi-bin/",把前面的#号去掉
(6)寻找<Directory "C:/Ap/cgi-bin">,下面有一句AllowOverride, 把后面的参 数去掉,加一个All,注意大小写呵。再往下有一句Options也把后面的None去掉 ,加一个All
(7)寻找AddHandler cgi-script .cgi后面加上.pl ,即
AddHandler cgi-script .cgi .pl
(8)如果还想增加SSI,需把下面两行前面的#号去掉。
AddType text/html .shtml
AddHandler server-parsed .shtml
为方便各位设置HTTPD.CONF文件,特意为各位提供一个以设置好的HTTPD.CONF文件 ,下载后把它拷贝到\ap\conf目录,即可使用,但条件是你的apache安装在c:\ap目 录.
(9)还要注意perl脚本中的perl解释路径,应改为: #!c:/perl/bin/perl等等
使用以上服务器要注意的是个问题:
第1,2,4种方法的绝对路径均可用相对的形式表示,如: "../cgi-bin/ ",但第3种 则必须用完整的硬盘路径表示,如:" C:/Inetput/wwwroot/cgi-bin/ "
(待续未完............)
====================================================================== ============================================================ 本文如有转裁请保持其完整性!谢谢!希望本文可以为给您有所帮助!
====================================================================== ============================================================
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.124]
|
|