一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - PerlScript編寫ASP(轉(zhuǎn)載)

PerlScript編寫ASP(轉(zhuǎn)載)

2019-10-26 12:01asp教程網(wǎng) ASP教程

盡管這些年來Perl為廣大編程愛好者所熟悉,但卻對Perl存在一個令人尷尬的誤解,以為Perl就是CGI,經(jīng)常有人問我Perl和CGI,和PHP,和ASP比較如何如何,這是實在是件很遺憾的事情.這里特地貼出下面這篇文摘,也許能減少一些這方面的誤解. 本

盡管這些年來Perl為廣大編程愛好者所熟悉,但卻對Perl存在一個令人尷尬的誤解,以為Perl就是CGI,經(jīng)常有人問我Perl和CGI,和PHP,和ASP比較如何如何,這是實在是件很遺憾的事情.這里特地貼出下面這篇文摘,也許能減少一些這方面的 誤解.  

本文將進一步講述Perl在可嵌入技術的廣域性,和PerlScript 在腳本技術領域的功用。以前的文章我說了ePerl、Embed Perl和Mod_Perl 技術,它們都是單獨領域的技術,是在本身基礎上的延伸。而本文將講述如何用PerlScript寫ASP,或者是說在ASP中寫PerlScript。  

學習本文后,你將會知道Perl是如何強大,它的兼容性是沒有任何語言可以比的。在目前Web頁編程中,最為盛行的技術:CGI、ASP、PHP、JSP等,其中CGI就包含了Perl、C/C++、JAVA等技術,在CGI 技術中流行的語言就是Perl,Perl的歷史悠久,有著傳統(tǒng)的編程方式和自然編寫方法,在ASP、PHP、JSP等技術沒有出現(xiàn)之前,是WEB也編程中最為流行或者說是標準的編程技術。經(jīng)常有人拿Perl或是CGI與ASP、PHP、JSP等技術相比,我在這里想重申一次,Perl、CGI與ASP、PHP、JSP不是一個領域一個類別,就好比水果和紅薯他們?nèi)绾伪龋窟@些配比方法在小學中就講述得很詳細了,所以希望廣大程序技術人員不要被誤導。Perl是一個語言,它與C/C++、Java、Basic等是一個類別的一個領域的,而ASP(Active Server Page)、PHP(Personal Home Page)、JSP(Java Server Page),大家可以從英文中看出他們后面都有Page,簡單的你可以理解成為超文本語言HTML的服務器端語言,而真正輸出的HTML是客戶端語言。我編寫CGI,特別是用Perl編寫了幾年的程序,寫了無數(shù)的商業(yè)軟件,然而現(xiàn)在很多輿論對Perl和CGI評價非常不好,然而這些都是非常不負責任的評價,對這個行業(yè)帶來了很大的損失,嚴重減慢了Perl在國內(nèi)發(fā)展的速度。而PerlScript 是Perl語言中的腳本語言,并非Perl腳本,也就是說它我們常說的Perl是不同的,它是Perl的一個腳本語言。類似于VB,大家知道VB有VBScript,PerlScript 就好像VBScript,也可以說是VBScript同類,理解這一點就好理解以下的內(nèi)容。大家知道VBScript分為客戶端、服務器端,客戶端可以在瀏覽器(諸如:Internet Explorer、Netscape)中應用,很多網(wǎng)站就用VBScript 做一些客戶端的分析處理工作;服務器端就是大家經(jīng)常在ASP里面寫的VBScript一樣"<%@ LANGUAGE="VBSCRIPT" %>"。PerlScript 是Perl的一個子集,Perl->PerlScript。  

PerlScript 在實際應用中有很多地方與平時寫的Perl程序是不一樣的,比如我們一般顯示輸出信息都用"print 'info\n\n';",而在使用PerlScript的時候就不能使用這樣的語法,否則將會造成語法無法識別;PerlScript 在默寫方面使用的是面向?qū)ο蠹夹g為基礎。所以如果想輸出信息,必須采取對象方法:"$Response->Write("info");"。  

如何在動態(tài)服務頁中(ASP)應用PerlScript 作為編寫腳本呢?平時我們寫ASP的時候都需要聲明語言類型,例如我們用VBScript編寫ASP時候,必須勝名"<%@ LANGUAGE="VBSCRIPT" %>",在使用PerlScript 的時候也是一樣,聲明格式是一樣的"<%@ Language=PerlScript %>"。現(xiàn)在我們就可以開始寫PerlScript 的ASP了。是不是有些興奮?我們按照慣例,都要寫一個"hello world"腳本啦。其實ASP可以不用寫的什么腳本的,可以在HTML直接打出,然而現(xiàn)在這里是為了能夠讓您更容易的了解PerlScript在ASP的具體應用。現(xiàn)在我們建立第一個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;)。這個頁內(nèi)容是進行循環(huán)依次輸出字的大小。  

訪問得到服務器的變量,也不是以前那么樣子了,命令是  
"<%= $Request->ServerVariables('SERVER_SOFTWARE')->Item() %> "  

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

在輸出非"text/html"類型數(shù)據(jù)的時候,首先要使用模塊:"Win32::OLE::Variant;",比如輸出"image/GIF"Perl程序方法是:  
print "Content-type:image/GIF\n\n";  
而在PerlScript中用:  
$Response->{ContentType} = "image/GIF";  

輸出數(shù)據(jù)方法則是:  
$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';  
"  
數(shù)據(jù)庫連接:"  
<%  
#建立連接ADOBD的對象  
#  
$Conn = $Server->CreateObject("ADODB.Connection");  

#打開系統(tǒng) DSN  
#  
$Conn->Open( "Tanshuai" );  

# 執(zhí)行 SQL 查詢  
#  
$RS = $Conn->Execute( "SELECT * FROM Orders" );  

#取得目標查詢隊列數(shù)  
$count = $RS->Fields->{Count};  

# 輸出顯示每個隊列名  
#  
for ( $i = 0; $i < $count; $i++ ) {  
$Response->Write( $RS->Fields($i)->Name );  
$Response->Write("  
");  
};  

# 輸出所有隊列值  
#  
while ( ! $RS->{EOF} ) {  
for ( $i = 0; $i < $count; $i++ ) {  
$Response->Write(" ");  
$Response->Write($RS->Fields($i)->{Value});  
$Response->Write("  
");  
};  

#移動到下一個紀錄  
#  
$RS->MoveNext();  
};  

# 關閉所有對象  
#  
$RS->Close();  
$Conn->Close();  
%>  

在PerlScript中sub、if、else、else if、for each、while、聲明變量、打開文件、字符處理都、調(diào)用模塊文件都是按照以前的樣子。只是在對于Web服務器間的特殊處理,需要使用特殊方法。  

另外#在腳本編寫的時候仍然是作為注解符號,而且一定要記得每個腳本命令結束后必須要填寫";"結束符號。  

通過本文您已經(jīng)掌握了如何用Perl的Perl腳本(PerlScript)編寫ASP了。Perl的強大功用和廣泛的兼容性,是沒有任何一個技術可比的。目前Perl可嵌入技術包含:C嵌入Perl、Java 嵌入Perl、ASP嵌入Perl、Apache嵌入 Perl、WSH嵌入Perl、WSC 嵌入Perl……  

Perl其實是一個簡單易學的通用信息技術語言,我覺得現(xiàn)在普及計算機,首先應該普及的就是Perl語言了,PERL比BASIC自然得多。好像人們在說話,它的編寫方式就好像我們處理事務一樣。學會了Perl,不但對你學習其它語言(諸如:C/C++、JAVA)有很大的促進、幫助并加快學習進度,Perl的強大發(fā)展趨勢,可以讓您"投機取巧",在其它流行的編程技術中嵌入,這樣在您不懂得或是覺得一種算法很麻煩的時候,用Perl來幫助你快捷的完成。讓您在其它語言中從Perl慢慢進化成該種語言,是相當順利的平穩(wěn)過渡。我發(fā)現(xiàn)在學習Perl以后,學習其它語言速度有很大的加快。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品日韩欧美一区二区三区 | 大伊香蕉在线精品不卡视频 | chinesexxxxhd人妖| 波多野结衣黑人系列在线观看 | 国产精品成人一区二区1 | 91啦在线播放 | 很黄的网站在线观看 | 亚洲成片在线看 | 国产精品亚洲专区一区 | a男人的天堂久久a毛片 | 99久久国产综合精品1尤物 | 久久久精品成人免费看 | 四虎影院永久网址 | 2019天天干天天操 | 青青草原影院 | 奶茶视频有容乃大 | 国产98在线| 7mav视频| 久久无码人妻中文国产 | 男人在女人下面狂躁 | 亚洲美女aⅴ久久久91 | 99ri在线精品视频在线播放 | 亚洲精品成人AV在线观看爽翻 | 特黄特色大片免费视频播放 | 成人精品网 | 欧美草逼网站 | 午夜私人福利影院 | 国产一卡二卡3卡4卡四卡在线视频 | 亚洲 欧美 国产 视频二区 | 华人亚洲欧美精品国产 | 国产精品久久久久久久人人看 | 极品手交handjobtattoo | 四虎精品成人免费观看 | 国产精品欧美在线观看 | 美女福利网站 | 国产二区三区 | 精品无人区乱码1区2区3区在线 | 日本剧情片在线播放中文版 | 精品视频在线观看 | 男人含玉势出嫁束器 | 日本视频高清 |