本章介紹如何使用perl dbi 與mysql接口。我們不討論dbi 的基本原理或體系結(jié)構(gòu)。有關(guān)dbi 這些方面的信息(特別是與c 和php api 的比較),請參閱第5 章。 本章的舉例動用了樣例數(shù)據(jù)庫samp_db,使用了學(xué)分保存方案和歷史同盟需要的表。想要從本章中取得最大收獲,最好了解一些有關(guān)perl 的知識。如果不想這樣,那么通過拷貝這里看到的樣例代碼,也能有所幫助,并可以編寫自己的腳本,不過找一本好的perl 書,可能仍是一件非常有價值的投資。有這樣一本書,名為《programming perl 》,第二版是由wa l l、c h r i s t i a n s e n、schwartz 和p o t ter(o’ reilly出版社19 9 6出版)撰寫的。(機械工業(yè)出版社1999年已出版了《perl 5編程詳解》—編者注。) dbi 的當(dāng)前版本為1. 13,但是此處的大部分介紹也可用于更早的1.xx 版本。請注意,對所介紹的早期版本中沒有出現(xiàn)的特性作了說明。 mysql的dbi 需要至少為5.004_05 的perl 版本。另外還必須安裝msql-mysql 模塊和data-dumper perl 模塊,以及mysqlc 客戶機庫和一些頭文件。如果計劃編寫基于web 的dbi 腳本,則要使用cgi.pm 模塊。本章中,這個模塊用于與apache web 服務(wù)器的連接。如 果需要獲得這樣的程序包,請參閱附錄a。該附錄中也給出了獲得本章開發(fā)的樣例腳本的說明。可以下載這些腳本,不必自己鍵入。 很大程度上,本章介紹perl dbi 的方法和變量只是出于討論的需要。至于所有方法和變量的更全面的列表,請參閱附錄g。如果要使用dbi 的任何部分,可以用該附錄作為進一步研究的背景材料。可通過運行下面的命令來得到聯(lián)機文檔: % perldoc dbi % perldoc dbi::faq % perldoc dbi::mysql 在數(shù)據(jù)庫驅(qū)動程序( db d)級,mysql的驅(qū)動程序建立在mysqlc 客戶機庫的基礎(chǔ)之上,因而具有它的某些特性。有關(guān)該庫的詳細信息,請參閱第6 章。
perl 腳本為文本文件,可以利用任何文本編輯器來創(chuàng)建它們。本章所有的perl 腳本都遵從unix 的約定,第一行以‘ #!’開始,接著是執(zhí)行這個腳本要使用的程序路徑名。第一行如下所示: #! /usr/bin/perl 如果在您的系統(tǒng)中,路徑名不是perl,如為/usr/local/bin/perl5 或/ o p t / b i n / per l,則需要修改‘# !’行。否則,perl 腳本不能在系統(tǒng)中正確運行。 在‘#!’之后含有一個空格,這是因為有的系統(tǒng)會將‘ #! /’解釋為4 個字節(jié)的怪異數(shù)字,所以如果沒有空格,則忽略這一行,這樣,會將相應(yīng)腳本作為外殼腳本來對待。 在unix 系統(tǒng)中,應(yīng)該使perl 腳本成為可執(zhí)行文件,以便只要鍵入其名稱就可執(zhí)行。為使腳本成為可執(zhí)行文件,對文件模式做如下更改即可: % chmod +x script_name 如果在windows 下使用activestate perl,則不必使腳本成為可執(zhí)行文件,可如下運行一個腳本: c:/> perl script_name