Perl是一种深受世界各地开发者喜爱的实用摘要和报表语言,虽然它是在Unix上诞生和发展起来的,但在Windows编程领域也已经占有一席之地。
一、概述
在ActiveState等公司的领导之下,从1995年中期开始Perl开始了稳定地发展,不仅增加了标准的Perl功能,而且增加了许多面向Windows的功能,比如OLE和COM集成等。
事实上,到目前为止所有Perl程序员都已经能够确信,自己为UNIX服务器写的Perl应用移植到Windows服务器后同样能够流畅、稳定地运行,即使是fork实现这类长期以来最令人头疼的移植问题也已经得到解决。
而且我们有理由相信,Perl/Windows集成还将进一步发展。自Windows版Perl开发初期开始Microsoft已经成为它的主要资助者,这一事实足以证实Microsoft所承诺的对Perl的支持。按照最近Microsoft和ActiveState所签署的为期三年的投资协议,Perl无疑将成为未来Windows发展的一部分。
如果你正在寻找有关Windows版Perl的更多信息,你可以从网络上找到许多优秀的网站,其中包括:
ActiveState
Perl.com
Aldo Calpini&single;s Perl Lab
Roth Consulting Perl Page
Evangelo Prodromou&single;s Win32 Perl FAQ
Robin&single;s Perl for Win32 Page
无论你是想在Windows操作系统上学习Perl语言的核心功能,还是想了解下面这类面向Windows的Perl集成工具,你都必须从同一个地方开始,这就是在Windows上安装Perl:
用Perl操作OLE(object linking and Embedding,对象链接和嵌入),
通过Perl管理Windows注册表,
用Perl编写COM对象(Component Object Model,组件对象模型),
在Perl程序里和其他COM对象通信,
利用Perl脚本实现IIS环境下的动态网页
本文是一个如何在Windows上安装和配置Perl开发环境的指南。
不过在正式开始之前,我们必须先声明一点,这就是安装Perl并不是“点击一下就完成”这样的简单过程,相反,为Windows增加Perl支持是一个反复循环的过程。由于Perl语言本身有着难以置信的发展活力,不仅其核心语言处于变化过程中,新的发行版本定期地出现,而且有众多Perl开发者不断地通过CPAN之类的资源收集网站发布免费新工具,因此,“安装”还意味着定期地升级和密切地关注Perl的最新发展。
前面已经提到,Perl Windows版的核心组织是ActiveState,它的主页是http://www.activestate.com。
Perl Windows版可以从ActiveState网站下载,产品的名字是ActivePerl可以从http://www.activestate.com/ActivePerl/download.htm直接下载。如果你的网速较慢,你最好在书店里买一本Perl5.0以上的教材,里面的CD有安装文件,还有较为丰富的样例。
另外,正如下载页面所指出的,在Windows 95上安装这个软件包还需要DCOM支持,DCOM可以在Microsoft 网站找到。用HTTP或FTP下载都是一样的,无论用哪种方法都可以。
下载完成后,你会得到一个自己解压缩的执行文件,只需双击这个执行文件即可开始安装。
必须指出的是,如果系统中已经安装了Perl而且进行新的安装时某个进程正在使用它,新的安装过程可能不能正常进行,你将会看到一个警告信息窗口。
如果发生了这种情况,你应该立即结束安装过程,关闭所有可能使用Perl的服务/应用,然后再次安装。
如果你使用的是Windows NT,无法确定哪些服务正在使用Perl,可以打开“开始=》设置=》控制面板=》服务”,检查系统所显示的服务列表,找出那些可能正在使用Perl的服务。关闭这些服务,然后重新开始安装。
当然大多数用户不需担心这问题。实际上,很有可能当你双击自动解压缩执行文件后就会看到ActiveState的许可协议声明。
阅读并接受许可协议之后,你将看到“Installation Notes”窗口,这个窗口向用户提示ActivePerl所有可用的安装选项。说明文档包含多个标题,每个标题各有详细的解释。这些标题包括:
把Perl的bin目录加入搜索路径
在Windows资源管理器中关联“.pl”扩展名和Perl.exe
为Web服务器关联“.pl”和Perl.exe
为IIS的ISAPI关联“.plx”和Perl
二、安装过程
在安装cgi脚本之前,请做好下述准备工作,否则脚本无法正常运行。
1、安装IIS ,即Internet信息服务组件
如果你是在 Win2000 sever 或 WINNT sever上安装CGI脚本,那么请跳过这一步,因为它们已经自带IIS。
如果是在Windows 2000 Professional,那么请从这一步开始,因为Windows 2000 Professional没有默认安装Internet 信息服务(即IIS),我们必须先安装好IIS。
另外请注意,如果系统是升级到 Windows 2000,那么只有在 Windows 的先前版本中安装了 PWS,IIS 5.0 才会默认安装。
如果你搞不清你的系统是否已带IIS,怎么区分它们呢?方法有二:
方法1)到“控制面板”=》“管理”=》寻找是否有“IIS 管理工具”。
方法2) 到“控制面板”=》“添加/删除程序”=》“Windows 组件”,看看 IIS 是否已安装。
安装步骤:
1.1、"我的电脑"=》控制面板=》添加/删除程序=》添加/删除windows组件=》选中"Internet信息服务(IIS)"前面的小框=》点击"下一步",然后按照提示操作,将IIS安装完成。
1.2、安装IIS后,打开IE,在地址栏输入http://your-domain/,回车确认。会出现Microsoft IIS的页面,证明IIS安装成功。
2、安装InstMsi.exe程序
如果是在win2000下,请跳过这一步。
如果是在winnt下,请一定要做这一步。在NT下,必须先安装 Windows 的程序安装器(Installer for the Windows Installer) InstMsi.exe ,否则无法进行下一步的ActivePerl安装。
2.1、获得for WINNT 的 Windows程序安装器:InstMsi.exe
有2种方法可以获得 InstMsi.exe :
- 在Winnt的安装光盘里搜索到 InstMsi.exe 文件
- 下载 for WINNT 的 InstMsi.exe 程序到硬盘
下载地址:http://activestate.com/Products/ActivePerl/index.html
http://download.microsoft.com/download/WindowsInstaller/Install/2.0/NT45/EN-US/InstMsi.exe
2.2、双击InstMsi.exe,按照提示将它安装完成。
2.3、重启计算机。
3、安装ActivePerl
3.1、下载ActivePerl到硬盘
国外下载:http://www.activestate.com
国内下载:http://www.onlinedown.net/ActivePerl.htm
3.2、安装ActivePerl。双击它,按提示操作即可(可自选一个安装路径)。
系统会提示选择四项安装配置:
- Add Perl to the PATH environment variable #更改Perl的路径加到系统路径中
- Create Perl file extension associate #建立Perl文件的文件关联(缺省的扩展名是pl)
- Create IIS script mapping for Perl #建立IIS脚本映射到Perl
- Create IIS script mapping for Perl #ISAPI #建立IIS脚本映射到Perl ISAPI
请将上述4项全部选中。
3.3、安装完ActivePerl后,重启计算机。
4、设置虚拟目录
在IIS的默认设置下,在系统根目录下的inetpub目录下面,有一个用来放置可执行脚本的目录scripts。但是ISP也有可能将IIS的这个设置修改了。那么我们就需要自己建立和设置一个可执行的虚拟目录,用来放入要运行的cgi脚本。
4.1、在硬盘的任何一个路径下,新建一个文件夹(名称任意,但最好不要在系统盘新建目录)。
如:F:\cgi-bin,在F盘下,新建一个叫做cgi-bin的文件夹。如图:
4.2、打开IIS服务器
从“开始”=》“设置”=》“控制面板”=》“管理工具”=》“Internet服务管理器”
出现IIS的界面如图:

4.3、建立虚拟目录
双击你的计算机名“pc1”,展开其站点目录=》在你的web站点名上(这里是“默认web站点”)单击右键=》“新建”=》“虚拟目录”

出现“虚拟目录创建向导”(如图)=》点击“下一步”

在“别名”框里输入一个名称,用来代表你将要映射的cgi脚本目录(这里是“cgi-bin”。当然,你也可以使用任何别的名称,如abc、123之类)=》点击“下一步”

在“目录”框中输入你在第1步生成的新文件夹的物理路径“F:\cgi-bin”(或者通过“浏览”按钮找到它也行)=》点击“下一步”

选取“执行(例如ISAPI应用程序或CGI)(E)”=》点击“下一步”

点击“完成”。

至此,你已成功的为你的站点新设了一个可执行的cgi脚本目录:F:\cgi-bin,这样,今后你的cgi脚本就可以放在这个目录里运行了。
5、在WINNT/2000的 IIS web服务器里映射.cgi 或 .pl
IIS4 服务器可以运行Perl和cgi程序,但它并未缺省设置为运行Perl。因此,你还得做2个修改:映射.cgi 或 .pl到 Perl,即建立.cgi或 .pl文件到perl程序的文件关联;为IUSR_网络客户帐户加入新的 NTFS 许可。
5.1、打开IIS
5.2、选择并打开你的Web 站点
单击你的虚拟Web 站点(例如,默认Web 站点,或xxx.com),打开它。
选中你的cgi脚本目录(如你刚才创建的cgi-bin)。如果你想把修改应用到整个虚拟web站点去,那么只要把选择单个目录改为选择整个站点就行了。
5.3、打开并修改目录的属性
在该文件夹上单击右键=》属性

出现属性对话框=》点击'目录'或'虚拟目录'选项卡=》选中下方的'脚本和可执行程序'选项=》 点击'配置'按钮

5.4、添加或编辑一个到perl的映射
出现一个可用 '应用程序映射'的列表,在'应用程序映射'列表的扩展名里寻找 .cgi 或 .pl。

1)如果找不到这2个扩展名。点击"添加",为.pl建立一个新的映射。
出现"添加/编辑应用程序扩展名" 窗口。
在窗口顶端的“可执行文件(X)”框,使用“浏览”按钮,在你的计算机上查找 perl.exe 或 perlis.dll,它将找到去perl程序的完整路径,如 D:\Perl\bin\Perl.exe 或 D:\Perl\bin\perlis.dll,如果你找到的是D:\Perl\bin\perl.exe,请你一定要在这个路径后面加上【空格】%s【空格】%s 。如图:

在“扩展名”框输入“.pl”(如果你想映射.pl为扩展名),注意pl前面有个小数点。
2)如果你能在'应用程序映射'列表里找到 .cgi 或 .pl,但其可执行文件路径后面没有“ %s %s”这样的后缀,那么请选中它,点击"编辑"。然后如上图所示,将其路径后加上【空格】%s【空格】%s 。
3)在 "脚本引擎"和"检查文件是否存在"前面的复选框里取消勾选。

4)为.pl映射设置允许的请求方式:
如果是在WINNT(即IIS4)中,请让“Method Exclusions:”(排除方式)框空着。
如果是在WIN2000(即IIS5)中, 请在“动作”下面的“限于”框中输入大写的“GET,HEAD,POST”,注意之间的逗号。
下图是一个在“应用程序映射”列表里已设好的.pl映射的示例。

如果你还需要将.cgi扩展名也映射到perl的话,按照上述步骤重做即可。
点击“确定”=》“确定”=》关闭窗口=》如果提问“保存控制台的设置到IIS吗?”,点击“是”。
5)重启计算机
到此,你已经为cgi脚本准备好了一个可执行的脚本目录(F:\cgi-bin),并将.pl这个扩展名正确的映射到了ActivePerl。可以说,在WIN2000/NT IIS 安装cgi脚本的准备工作都已做好了。下面,你就可以轻轻松松的将cgi脚本安装运行了。
二、安装cgi脚本
1、将你的cgi脚本(如果脚本被压缩,请先解压)复制到你在 4.1生成的目录 F:\cgi-bin下。
2、将该脚本的扩展名改为你已映射到ActivePerl的 .pl或 .cgi。
3、如果脚本需要一些特殊的安装步骤,请继续按照它的安装说明进行。
4、打开浏览器,在地址栏输入URL:http://your-domain/cgi-bin/xxx.pl ,这里xxx.pl是指你的脚本名,即可访问该脚本了。
|