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
#
内容版权声明:除非注明,否则皆为本站原创文章。