top
Loading...
PerlScript的介紹
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_MACHINESOFTWAREActiveStatePerlSE1.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_MACHINESOFTWAREActiveStatePerlSE1.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 維護.

北斗有巢氏 有巢氏北斗