目錄譯者序前言第一部分Perl基礎第1學時Perl入門 31.1安裝Perl 31.1.1等一等,也許你已經安裝了Perl 41.1.2在Windows95/98/NT上安裝Perl 51.1.3在UNIX上安裝Perl 61.1.4在Macintosh系統(tǒng)上安裝Perl 71.2文檔資料 71.2.1某些特殊的文檔資料舉例 81.2.2如果無法找到文檔該怎么辦 91.3編寫你的第一個Perl程序 91.3.1鍵入程序 91.3.2運行程序 91.3.3程序正確將會發(fā)生什么情況 101.3.4Perl程序的具體運行過程 101.3.5必須知道的一些情況 111.4課時小結 121.5課外作業(yè) 121.5.1專家答疑 121.5.2思考題 121.5.3解答 131.5.4實習 13第2學時Perl的基本構件:數(shù)字和字符串 142.1直接量 142.1.1數(shù)字 142.1.2字符串 152.2標量變量 162.3表達式和運算符 182.3.1基本運算符 182.3.2數(shù)字運算符 192.3.3字符串運算符 192.4其他運算符 202.4.1單參數(shù)運算符 202.4.2遞增和遞減 212.4.3尖括號運算符 212.4.4其他賦值運算符 222.4.5關于字符串和數(shù)字的一些說明 222.5練習:利息計算程序 232.6課時小結 242.7課外作業(yè) 242.7.1專家答疑 242.7.2思考題 242.7.3解答 252.7.4實習 25第3學時控制程序流 263.1語句塊 263.2if語句 273.2.1其他關系運算符 283.2.2“真”對于Perl意味著什么 293.2.3邏輯運算符 303.3循環(huán) 323.3.1用while進行循環(huán) 323.3.2使用for循環(huán) 333.4其他流控制工具 333.4.1奇特的執(zhí)行順序 333.4.2明細控制 343.4.3標號 353.4.4退出Perl 353.5練習:查找質數(shù) 353.6課時小結 373.7課外作業(yè) 373.7.1專家答疑 373.7.2思考題 373.7.3解答 383.7.4實習 38第4學時基本構件的堆棧:列表與數(shù)組 394.1將數(shù)據(jù)放入列表和數(shù)組 394.2從數(shù)組中取出元素 414.2.1尋找結尾 424.2.2關于上下文的詳細說明 434.2.3回顧以前的幾個功能 444.3對數(shù)組進行操作 454.3.1遍歷數(shù)組 464.3.2在數(shù)組與標量之間進行轉換 464.3.3給數(shù)組重新排序 484.4練習:做一個小游戲 494.5課時小結 514.6課外作業(yè) 514.6.1專家答疑 514.6.2思考題 514.6.3解答 524.6.4實習 52第5學時進行文件操作 535.1打開文件 535.1.1路徑名 545.1.2出色的防錯措施 555.1.3以適當?shù)姆绞竭\行die函數(shù) 565.2讀取文件 565.3寫入文件 585.4自由文件.測試文件和二進制數(shù)據(jù) 605.4.1自由文件句柄 605.4.2二進制文件 605.4.3文件測試運算符 615.5課時小結 625.6課外作業(yè) 625.6.1專家答疑 625.6.2思考題 635.6.3解答 635.6.4實習 63第6學時模式匹配 646.1簡單的模式 646.2元字符 666.2.1一個簡單的元字符 666.2.2非輸出字符 666.2.3通配符 666.2.4字符類 686.2.5分組和選擇 696.2.6位置通配符 696.3替換 706.4練習:清除輸入數(shù)據(jù) 706.5關于模式匹配的其他問題 716.5.1對其他變量進行操作 716.5.2修飾符與多次匹配 726.5.3反向引用 736.5.4一個新函數(shù):grep 736.6課時小結 746.7課外作業(yè) 746.7.1專家答疑 746.7.2思考題 756.7.3解答 756.7.4實習 75第7學時哈希結構 777.1將數(shù)據(jù)填入哈希結構 777.2從哈希結構中取出數(shù)據(jù) 787.3列表與哈希結構 807.4關于哈希結構的補充說明 817.4.1測試哈希結構中的關鍵字 817.4.2從哈希結構中刪除關鍵字 817.5用哈希結構進行的有用操作 817.5.1確定頻率分布 827.5.2在數(shù)組中尋找惟一的元素 827.5.3尋找兩個數(shù)組之間的交匯部分和不同部分 837.5.4對哈希結構進行排序 847.6練習:用Perl創(chuàng)建一個簡單的客戶數(shù)據(jù)庫 847.7課時小結 867.8課外作業(yè) 867.8.1專家答疑 867.8.2思考題 877.8.3解答 877.8.4實習 88第8學時函數(shù) 898.1創(chuàng)建和調用子例程 898.1.1返回子例程的值 908.1.2參數(shù) 918.1.3傳遞數(shù)組和哈希結構 918.2作用域 928.3練習:統(tǒng)計數(shù)字 948.4函數(shù)的腳注 968.4.1聲明local變量 968.4.2使Perl變得更加嚴格 978.4.3遞歸函數(shù) 988.5課時小結 998.6課外作業(yè) 998.6.1專家答疑 998.6.2思考題 998.6.3解答 1008.6.4實習 100第二部分高級特性第9學時其他函數(shù)和運算符 1039.1搜索標量 1039.1.1用index進行搜索 1039.1.2用rindex向后搜索 1049.1.3用substr分割標量 1049.2轉換而不是替換 1059.3功能更強的print函數(shù) 1069.4練習:格式化報表 1079.5堆棧形式的列表 1099.6課時小結 1109.7課外作業(yè) 1119.7.1專家答疑 1119.7.2思考題 1119.7.3解答 1129.7.4實習 112第10學時文件與目錄 11310.1獲得目錄列表 11310.2練習:UNIX的grep 11610.3目錄 11710.3.1瀏覽目錄 11710.3.2創(chuàng)建和刪除目錄 11810.3.3刪除文件 11910.3.4給文件改名 11910.4UNIX系統(tǒng) 12010.5你應該了解的關于文件的所有信息 12110.6練習:對整個文件改名 12210.7課時小結 12310.8課外作業(yè) 12410.8.1專家答疑 12410.8.2思考題 12410.8.3解答 12410.8.4實習 125第11學時系統(tǒng)之間的互操作性 12611.1system()函數(shù) 12611.2捕獲輸出 12811.3管道 12911.4可移植性入門 13111.5課時小結 13411.6課外作業(yè) 13411.6.1專家答疑 13411.6.2思考題 13511.6.3解答 13511.6.4實習 136第12學時使用Perl的命令行工具 13712.1什么是調試程序 13712.1.1啟動調試程序 13712.1.2調試程序的基本命令 13812.1.3斷點 13912.1.4其他調試程序命令 14012.2練習:查找錯誤 14112.3其他命令行特性 14212.3.1單命令行程序 14212.3.2其他開關 14312.3.3空的尖括號與更多的單命令行程序 14412.4課時小結 14512.5課外作業(yè) 14512.5.1專家答疑 14512.5.2思考題 14612.5.3解答 146第13學時引用與結構 14713.1引用的基本概念 14713.1.1對數(shù)組的引用 14913.1.2對哈希結構的引用 14913.1.3作為參數(shù)的引用 15013.1.4創(chuàng)建各種結構 15113.2結構的配置方法 15213.2.1一個例子:列表中的列表 15213.2.2其他結構 15313.2.3使用引用來調試程序 15413.3練習:另一個游戲——迷宮 15513.4課時小結 15713.5課外作業(yè) 15713.5.1專家答疑 15713.5.2思考題 15813.5.3解答 15813.5.4實習 158第14學時使用模塊 15914.1模塊的概述 15914.1.1讀取關于模塊的文檔 16014.1.2什么地方可能出錯 16114.2已安裝模塊簡介 16214.2.1文件和目錄簡介 16214.2.2拷貝文件 16414.2.3用于通信的Perl模塊 16414.2.4使用English模塊 16514.2.5diagnostics模塊 16514.3標準模塊的完整列表 16614.4課時小結 16714.5課外作業(yè) 16714.5.1專家答疑 16714.5.2思考題 16814.5.3解答 16814.5.4實習 168第15學時了解程序的運行性能 16915.1DBM文件 16915.1.1需要了解的重點 17015.1.2遍歷與DBM文件相連接的哈希結構 17015.2練習:一種自由格式備忘記事板 17115.3將文本文件用作數(shù)據(jù)庫 17315.4隨機訪問文件 17515.4.1打開文件進行讀寫操作 17515.4.2在讀寫文件中移動 17615.5鎖定文件 17615.5.1鎖定UNIX和NT下的文件 17815.5.2在加鎖情況下進行讀寫操作 17915.5.3Windows95和Windows98下的加鎖問題 180 15.5.4在其他地方使用文件鎖的問題 18115.6課時小結 18115.7課外作業(yè) 18115.7.1專家答疑 18115.7.2思考題 18215.7.3解答 18215.7.4實習 182第16學時Perl語言開發(fā)界 18316.1Perl究竟是一種什么語言 18316.1.1Perl的簡單發(fā)展歷史 18316.1.2開放源 18416.1.3Perl的開發(fā) 18516.2Perl綜合存檔文件網 18516.2.1什么是CPAN 18616.2.2為什么人們愿意提供自己的開發(fā)成果 18616.3下一步你要做的工作 18716.3.1要做的第一步工作 18716.3.2最有用的工具 18716.3.3查找程序中的錯誤 18816.3.4首先要靠自己來解決問題 18816.3.5從別人的程序錯誤中吸取教訓 18916.3.6請求他人的幫助 19016.4其他資源 19116.5課時小結 19216.6課外作業(yè) 19216.6.1專家答疑 19216.6.2思考題 19216.6.3解答 192第三部分將Perl用于CGI第17學時CGI概述 19517.1瀏覽Web 19517.1.1檢索一個靜態(tài)Web頁 19617.1.2動態(tài)Web頁—使用CGI 19717.2不要跳過這一節(jié)內容 19817.3編寫你的第一個CGI程序 19917.3.1在服務器上安裝CGI程序 20017.3.2運行你的CGI程序 20117.4CGI程序無法運行時怎么辦 20117.4.1這是你的CGI程序嗎 20117.4.2服務器存在的問題 20217.4.3排除服務器內部錯誤或500錯誤 20317.5課時小結 20417.6課外作業(yè) 20417.6.1專家答疑 20417.6.2思考題 20517.6.3解答 20517.6.4實習 206第18學時基本窗體 20718.1窗體是如何運行的 20718.1.1HTML窗體元素概述 20718.1.2單擊submit時出現(xiàn)的情況 20818.2將信息傳遞給你的CGI程序 20918.3Web安全性 21118.3.1建立傳輸明碼文本的連接 21118.3.2注意不安全數(shù)據(jù) 21218.3.3從事無法執(zhí)行的操作 21318.3.4拒絕服務 21318.4賓客留言簿 21418.5課時小結 21518.6課外作業(yè) 21518.6.1專家答疑 21518.6.2思考題 21618.6.3解答 21618.6.4實習 216第19學時復雜窗體 21719.1復雜的多頁窗體 21719.2隱藏域 21719.3多頁調查窗體 21919.4課時小結 22419.5課外作業(yè) 22419.5.1專家答疑 22419.5.2思考題 22519.5.3解答 22519.5.4實習 225第20學時對HTTP和CGI進行操作 22620.1HTTP通信概述 22620.1.1舉例:人工檢索Web頁 22720.1.2舉例:返回非文本信息 22820.2如何調用CGI程序的詳細說明 23020.2.1將參數(shù)傳遞給CGI程序 23020.2.2特殊參數(shù) 23120.3服務器端的包含程序 23220.4部分環(huán)境函數(shù)簡介 23420.5重定向 23520.6課時小結 23720.7課外作業(yè) 23720.7.1專家答疑 23720.7.2思考題 23720.7.3解答 23820.7.4實習 238第21學時cookie 23921.1什么是cookie 23921.1.1如何創(chuàng)建cookie 24021.1.2舉例:使用cookie 24121.1.3另一個例子:cookie查看器 24221.2高級cookie特性 24321.2.1設置cookie終止運行的時間 24321.2.2cookie的局限性 24421.2.3將cookie發(fā)送到其他地方 24421.2.4限制cookie返回到的位置 24621.2.5帶有安全性的cookie 24721.3cookie存在的問題 24721.3.1cookie的生存期很短 24721.3.2并非所有瀏覽器都支持cookie 24721.3.3有些人不喜歡cookie 24721.4課時小結 24821.5課外作業(yè) 24821.5.1專家答疑 24821.5.2思考題 24921.5.3解答 25021.5.4實習 250第22學時使用CGI程序發(fā)送電子郵件 25122.1Internet郵件入門 25122.1.1發(fā)送電子郵件 25222.1.2發(fā)送郵件時首先應該注意的問題 25222.2郵件發(fā)送函數(shù) 25322.2.1用于UNIX系統(tǒng)的郵件函數(shù) 25422.2.2用于非UNIX系統(tǒng)的郵件函數(shù) 25522.3從Web頁發(fā)送郵件 25722.4課時小結 25922.5課外作業(yè) 25922.5.1專家答疑 25922.5.2思考題 26022.5.3解答 26022.5.4實習 260第23學時服務器推送和訪問次數(shù)計數(shù)器 26123.1什么是服務器推送 26123.1.1激活服務器推送特性 26223.1.2一個小例子:更新Web頁上的時鐘 26223.1.3另一個例子:動畫 26323.1.4客戶機拖拉技術 26423.2訪問次數(shù)計數(shù)器 26423.2.1編寫一個訪問次數(shù)計數(shù)器程序 26623.2.2圖形訪問次數(shù)計數(shù)器 26723.3課時小結 26823.4課外作業(yè) 26923.41專家答疑 26923.4.2思考題 26923.4.3解答 26923.4.4實習 270第24學時建立交互式Web站點 27124.1借用另一個站點的內容 27124.1.1注意內容的版權問題 27124.1.2舉例:檢索標題 27224.2調查窗體 27524.2.1調查窗體程序的第一部分:提出問題 27624.2.2調查窗體程序的第二部分:計算調查結果 27724.3課時小結 28024.4課外作業(yè) 28024.4.1專家答疑 28024.4.2思考題 28124.4.3解答 28124.4.4實習 281第四部分附錄附錄安裝模塊 285