明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用Perl開發(fā)Internet/Intranet應(yīng)用之二(4)

[摘要]----5 怎樣在程序中調(diào)用系統(tǒng)命令 ------以在程序中自動(dòng)收發(fā)郵件為例 ----CGI的推出就是為了使WebServer可以與更多的數(shù)據(jù)源溝通,常用的數(shù)據(jù)源有三種:數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)文件(如txt文本)、郵件系統(tǒng)。前二者的連接和讀寫都有很多的方法,這里就不再相述。我主要想談?wù)勗贑GI程式中...
----5 怎樣在程序中調(diào)用系統(tǒng)命令

------以在程序中自動(dòng)收發(fā)郵件為例

----CGI的推出就是為了使WebServer可以與更多的數(shù)據(jù)源溝通,常用的數(shù)據(jù)源有三種:數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)文件(如txt文本)、郵件系統(tǒng)。前二者的連接和讀寫都有很多的方法,這里就不再相述。我主要想談?wù)勗贑GI程式中怎樣才能讀取到郵件系統(tǒng)的郵件,自動(dòng)發(fā)送郵件又是怎樣進(jìn)行的。Microsoft最近推出了ADO(ActiveXDataObject),只要相應(yīng)數(shù)據(jù)源能提供OLEDB(DataProviderInterfaces),我們的應(yīng)用程序就可調(diào)用ADO透明的訪問該數(shù)據(jù)源(包括前面我們提到的三種數(shù)據(jù)源)。這種應(yīng)用在郵件系統(tǒng)方面現(xiàn)在還只限于在MicrosoftExchangeServer上,由于這是新標(biāo)準(zhǔn),實(shí)用與否還要看數(shù)據(jù)源供應(yīng)商的反應(yīng)和是否提供OLEDB接口。下面,我給大家介紹另外一種較為通用的實(shí)現(xiàn)方法。

----讀取郵件:在很多unix系統(tǒng)中,郵件一般都放在/var/mail目錄下,每個(gè)用戶的郵件就存放在一個(gè)以該用戶名命名的文本文件中,例如:/var/mail/zyr。如果我們要讀取或查找該郵件信息,只要打開相應(yīng)的文件即可。但該程式的運(yùn)行者須有讀取該用戶郵件的權(quán)限,可在系統(tǒng)中用命令chmod進(jìn)行設(shè)置。下面以一個(gè)perl程序?yàn)槔?

----#該程序用于讀取郵件,如果成功就把每一行數(shù)據(jù)打印出來(lái)


#!/bin/perl
#如果該路徑已加入PATH中,上句可省
$mail_path="/var/mail/zyr";
#郵件路徑
if(!open(vmail,"< $mail_path")){
print"can'topen$mail_path";
exit;
}
else{
while($temp=< vmail >){
#取出每一行數(shù)據(jù)放在$temp中
print$temp;
}
}
close(vmail);