PerlScript 的介绍
====================
:forehead
Mail: forehead@21cn.com
Time: 2000.1.1
====================
如有不妥或欠缺,请不吝指教
========================================================
Q : 什么是 PerlScript?
A : PerlScript 是一个 ActiveX 脚本引擎,使你可以在任何 ActiveX scripting host 上运行 Perl 程序.
ActiveX scripting host 有:
Internet Information Server 3.0/4.0
Peer Web Services 3.0/4.0
Microsoft Internet Explorer 4.0x
Windows Scripting Host
========================================================
Q : 运行 PerlScript 需要些什么?
A : 如下:
Perl for Win32 核心
一个 ActiveX 脚本主机 ( scripting host ) (见上)
Windows NT/95
Perl scripts !
========================================================
Q : 如何安装 PerlScript ?
A : 在你安装 Perl for win32 时,PerlScript 作为其组件之一,可以选择安装.
Q : 如何设置 PerlScript 的安全等级 ?
A : 在 IE 4.0 或更高版本中,通过修改注册表实现:
HKEY_LOCAL_MACHINE\SOFTWARE\ActiveState\PerlSE\1.0
REG_DWORD: EnabledZones = 0x0010 (default)
EnabledZones 的值
Enable All : 0x0001
Enable Local : 0x0010
Enable Internet : 0x0020
Enable Trusted : 0x0040
Enable Restricted : 0x0080 (for the perverse)
IE3 的限制多些,只有 "全部允许" 和 "全部禁止" 两种选择:
Disable All : 0x0000
Enable All : 0x0001
========================================================
Q : 为何我的事件句柄调用无效 ?
A : 事件名称对大小写敏感.同样,通过修改注册表可以使之不敏感:
HKEY_LOCAL_MACHINE\SOFTWARE\ActiveState\PerlSE\1.0
REG_DWORD: NoCaseCompare = 1 (default)
========================================================
Q : 什么是 Windows Scripting Host ?
A : 简写为 WSH ,是微软的一个使用在32位 Windows 操作系统平台上的语言无关性 ( language-independent ) 的脚本主机,它使 VBScript 和 JScript 的开发者可以方便快捷的编制程序,当然,对于 Perl 开发者来说, WHS 所提供的功能,也可以通过 Perl 摸组及其扩展来实现.
详细情况请查询: http://www.microsoft.com/scripting/
Q : 我可以用 PerlScript 编写 Active Server Pages 吗?
A : 可以. ASP 默认使用 VBScript ,也可用 JavaScript ,但若要使用 PerlScript ,需在服务器上安装 Perl for Win32 和 PerlScript ( 无需在客户机上安装 ).为了让服务器辨别服务器端的 Perl 代码,你可以使用<SCRIPT> 标签或将代码包含在 <% 和 %> 之间.
下面是使用 <SCRIPT> 标签的一个简单例子.
<%@ LANGUAGE = PerlScript %>
<HTML>
<HEAD>
<TITLE>PerlScript Hello World!</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>PerlScript Hello world!</H1>
<P>
<SCRIPT LANGUAGE="PerlScript" RUNAT=Server>
$Response->write("Hello world!");
</SCRIPT>
</BODY>
</HTML>
用 <% 和 %> 实现同样的功能:
<%@ LANGUAGE = PerlScript %>
<HTML>
<HEAD>
<TITLE>PerlScript Hello World!</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>PerlScript Hello world!</H1>
<%
$Response->write("Hello world!");
%>
</BODY>
</HTML>
脚本第一行, <%@ LANGUAGE = PerlScript %> 告诉服务器该脚本使用 PerlScript, 而非其他 ASP 所支持的脚本语言. 另外一种用法: <%= $hello %> 这将会显示变量 $hello 的值.
Q : 客户端 PerlScript ?
A : 客户端 PerlScript 嵌入在 HTML 文件中, 所有的 PerlScript 代码必须包含在 <SCRIPT LANGUAGE="PerlScript"> </SCRIPT> 之间.客户端 PerlScript 要求 Perl for Win32 和 PerlScript 安装在每台将要调用 PerlScript 页面的计算机上. 客户端 Perlscript 只适用于你有权限更改运行该脚本的计算机的情况下.如果你是为大量的用户建立一个应用程序时,服务器端 PerlScript 才是更合适的. 要浏览器显示某些信息的时候,可以用 document 对象的 write() 方法.像这样:
$windows->document->write('any old text').
下面是用客户端 PerlScript 显示 Hello World 的例子:
<HTML>
<HEAD>
<TITLE>PerlScript Hello World!</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>PerlScript Hello world!</H1>
<SCRIPT LANGUAGE="PerlScript">
$window->document->write('Hello world!');
</SCRIPT>
</BODY>
</HTML>
========================================================
其他参考资料
以下是网上 PerlScript FAQs 的连接:
The Perl-Win32-ASP FAQ. 由 Matthew Sergeant 维护.
ASP/PerlScript FAQ at perlscript.rajiv.net. 另一个 PerlScript FAQ. 由 Rajiv Kukreja 维护.