PerlScript编写ASP(转载)(2)



如何在动态服务页中(ASP)应用PerlScript 作为编写脚本呢?平时我们写ASP的时候都需要声明语言类型,例如我们用VBScript编写ASP时候,必须胜名"<%@ LANGUAGE="VBSCRIPT" %>",在使用PerlScript 的时候也是一样,声明格式是一样的"<%@ Language=PerlScript %>"。现在我们就可以开始写PerlScript 的ASP了。是不是有些兴奋?我们按照惯例,都要写一个"hello world"脚本啦。其实ASP可以不用写的什么脚本的,可以在HTML直接打出,然而现在这里是为了能够让您更容易的了解PerlScript在ASP的具体应用。现在我们建立第一个ASP页 
<%@Language=PerlScript%> 
<HTML> 
<TITLE> PerlScript Test </TITLE> 
<% 
for($i=0; $i<=10; $i+=2) { 
$Response->Write(""); 
$Response->Write("Hello World! 
"); 

%> 
</HTML> 
在这里大家一定要注意 
"$Response->Write("");"为什么不用print呢?因为print 是对程序而言,是直接的,而ASP是间接的输出。在ASP里面使用PerlScript是自动应用了ASP相关模块(use ASP;)。这个页内容是进行循环依次输出字的大小。 

访问得到服务器的变量,也不是以前那么样子了,命令是 
"<%= $Request->ServerVariables('SERVER_SOFTWARE')->Item() %> " 

我们一般在Perl里面则是 
"$ENV{'SERVER_SOFTWARE'};" 
得到POST或者GET数据,比以往在Perl程序中容易很多。 
POST:"$Request->Form('name')->Item()" 
而GET: "Request->QueryString('name')->Item()" 

在输出非"text/html"类型数据的时候,首先要使用模块:"Win32::OLE::Variant;",比如输出"image/GIF"Perl程序方法是: 
print "Content-type:image/GIF\n\n"; 
而在PerlScript中用: 
$Response->{ContentType} = "image/GIF"; 

输出数据方法则是: 
$Response->BinaryWrite(Win32::OLE->Variant(VT_UI1, $image)); 
取得ASP的错误信息: 
"$ASPError = $Server->GetLastError();" 
设置浏览器Cookies:" 
$Response->Cookies->SetProperty( 
'类别', 
'Cookies', 
'这是一个Cookies' 
); 

设置允许URL:" 
$Response->Cookies('Cookie')->{Domain} = 'tanshuai.net'; 

设置过期时间:" 
$Response->Cookies('someCookie')->{Expires} = 'January 1, 2001'; 

数据库连接:" 
<% 
#建立连接ADOBD的对象 

$Conn = $Server->CreateObject("ADODB.Connection"); 

#打开系统 DSN 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3001.html