第1章 Linux及Perl概述
1.1 Linux系統(tǒng)簡介
1.1.1 什么是Linux
1.1.2 Linux的發(fā)展歷史
1.1.3 Linux主要發(fā)行版本
1.1.4 Linux的應用
1.1.5 誰在使用Linux
1.2 Perl介紹
1.2.1 Perl概述
1.2.2 Perl發(fā)展歷史
1.2.3 Perl的安裝
1.2.4 Perl資源
1.3 小結與練習
1.3.1 小結
1.3.2 習題與思考
第2章 標量數據
2.1 標量變量簡介
2.1.1 何謂標量變量
2.1.2 標量變量的命名
2.2 數字標量
2.2.1 整型表示法
2.2.2 浮點型表示法
2.2.3 數字格式
2.2.4 定點數方案
2.3 字符串標量
2.3.1 單引號字符串
2.3.2 雙引號字符串
2.3.3 反引號
2.3.4 引用操作符
2.4 常用的與標量有關的系統(tǒng)函數
2.4.1 數學函數
2.4.2 標量轉換函數
2.5 小結與練習
2.5.1 小結
2.5.2 習題與思考
第3章 數組和列表數據
3.1 數組和列表的基本概念
3.1.1 什么是數組和列表
3.1.2 數組的表示
3.1.3 列表變量
3.2 數組元素的存取
3.2.1 列表的賦值
3.2.2 存取數組元素
3.3 對數組元素的其他操作
3.3.1 字符串中的方括號和變量替換
3.3.2 數組的輸出
3.3.3 改變數組元素的值
3.4 與數組有關的函數
3.4.1 按字符順序排序——sort函數
3.4.2 反轉數組——reverse函數
3.4.3 數組去尾——chop和chomp函數
3.4.4 數組連接/拆分——join/split函數
3.4.5 push和pop函數
3.4.6 shift和unshift函數
3.4.7 拼接函數——splice函數
3.5 小結與練習
3.5.1 小結
3.5.2 習題與思考
第4章 散列
4.1 散列簡介
4.1.1 什么是散列
4.1.2 為什么要使用散列
4.1.3 散列變量
4.1.4 全局散列變量
4.2 存取散列的元素
4.2.1 訪問散列中的元素
4.2.2 增加元素
4.2.3 數組與散列的相互轉換
4.3 散列函數
4.3.1 keys函數
4.3.2 values函數
4.3.3 each函數
4.3.4 delete函數
4.4 散列應用舉例
4.4.1 用散列實現多維數組
4.4.2 用散列實現結構
4.5 小結與練習
4.5.1 小結
4.5.2 習題與思考
第5章 操作符
5.1 數字操作符
5.1.1 基本數字操作符
5.1.2 數字比較操作符
5.1.3 賦值操作符
5.1.4 自增自減操作符
5.2 字符串操作符
5.2.1 字符串比較操作符
5.2.2 字符串聯接和重復操作符
5.3 邏輯操作符和位操作符
5.3.1 邏輯操作符
5.3.2 位操作符
5.4 其他操作符
5.4.1 逗號操作符
5.4.2 條件操作符
5.5 操作符的優(yōu)先級和結合性
5.6 小結與練習
5.6.1 小結
5.6.2 習題與思考
第6章 控制結構
6.1 控制結構中的有關問題
6.1.1 語句塊
6.1.2 養(yǎng)成良好的編程習慣
6.2 條件語句
6.2.1 if系列語句
6.2.2 unless語句
6.2.3 if語句的嵌套
6.3 循環(huán)語句
6.3.1 while/until循環(huán)
6.3.2 do while/until循環(huán)
6.3.3 for循環(huán)
6.3.4 foreach循環(huán)
6.4 其他控制語句
6.4.1 標記修飾符
6.4.2 修改循環(huán)控制流的幾個語句
6.4.3 表達式修飾符
6.4.4 &&和||
6.5 小結與練習
6.5.1 小結
6.5.2 習題與思考
第7章 正則表達式
7.1 正則表達式簡介
7.1.1 什么是正則表達式
7.1.2 一個簡單的例子
7.2 正則表達式的構成
7.2.1 元字符
7.2.2 原子
7.3 正則表達式的正則
7.3.1 單字符類型
7.3.2 組合類型
7.3.3 定位類型
7.3.4 優(yōu)先級
7.3.5 正則表達式正則的應用舉例
7.4 模式修飾行
7.4.1 全局匹配
7.4.2 忽略大小寫的匹配
7.4.3 多行匹配與單行匹配
7.4.4 單次匹配
7.4.5 多余空格
7.5 與正則表達式相關的其他問題
7.5.1 模式匹配變量
7.5.2 替代函數
7.5.3 內插變量
7.5.4 模式次序變量
7.5.5 擴展模式匹配
7.6 小結與練習
7.6.1 小結
7.6.2 習題與思考
第8章 字符串操作
8.1 字符串和數值的相互轉換
8.1.1 數字與字符的相互轉換
8.1.2 數字與字符串的相互轉換
8.2 把標量插入字符串
8.3 字符串處理函數
8.3.1 改變大小寫函數
8.3.2 字符串截尾函數
8.3.3 搜尋子字符串函數
8.3.4 子字符串的展開與替代
8.3.5 字符串轉換函數
8.3.6 取字符串長度函數
8.3.7 分離和連接字符串函數
8.4 小結與練習
8.4.1 小結
8.4.2 習題與思考
第9章 自定義函數
9.1 一些常用的系統(tǒng)函數及其使用
9.2 自定義函數的定義
9.3 函數的調用
9.3.1 先定義后調用
9.3.2 用&調用
9.3.3 前向引用
9.3.4 用do調用
9.3.5 函數調用的返回值
9.4 更方便地使用函數
9.4.1 在函數中使用參數
9.4.2 在函數定義中使用私有變量
9.4.3 使用半私有變量
9.4.4 文件層級的my變量
9.5 Perl 5中預定義的函數
9.6 函數的應用舉例
9.6.1 二進制和十進制之間的轉換函數
9.6.2 將角度轉換為弧度
9.6.3 求一個數的對數
9.6.4 數字和英文的對應
9.6.5 一個較復雜的例子
9.7 小結與練習
9.7.1 小結
9.7.2 習題與思考
第10章 引用
10.1 引用簡介
10.1.1 什么是引用
10.1.2 引用操作符
10.2 引用變量類型簡介
10.2.1 直接引用變量
10.2.2 常量引用變量
10.2.3 函數引用變量
10.2.4 符號引用變量
10.2.5 匿名引用變量
10.2.6 對象引用變量
10.3 直接引用變量的使用
10.3.1 使用標量引用
10.3.2 使用數組引用
10.3.3 使用散列引用
10.3.4 文件句柄的引用
10.4 訪問引用的其他方法
10.4.1 使用大括號
10.4.2 使用向右箭頭操作符
10.4.3 使用方括號
10.4.4 多維數組
10.4.5 利用引用傳給函數多個數組以及返回多個數組或散列
10.5 小結與練習
10.5.1 小結
10.5.2 習題與思考
第11章 文件系統(tǒng)
11.1 文件操作
11.1.1 打開/關閉文件
11.1.2 讀/寫文件
11.1.3 刪除文件
11.1.4 更改文件名
11.1.5 產生/刪除文件鏈接
11.1.6 判斷文件狀態(tài)
11.1.7 讀取文件中的某一行
11.2 目錄操作
11.2.1 產生/刪除目錄
11.2.2 打開/關閉目錄
11.2.3 其他目錄處理函數
11.3 更改文件和目錄的權限、所有權和時間戳
11.3.1 更改權限
11.3.2 更改所有權
11.3.3 更改時間戳
11.4 使用DBM文件
11.4.1 打開/關閉DBM文件
11.4.2 DBM散列的使用
11.5 小結與練習
11.5.1 小結
11.5.2 習題與思考
第12章 輸入/輸出處理
12.1 基本輸入
12.1.1 來自STDIN的輸入
12.1.2 輸入操作符
12.1.3 @ARGV數組
12.2 基本輸出
12.2.1 print函數
12.2.2 格式化輸出函數sprintf和printf
12.3 格式化輸出
12.3.1 什么是格式
12.3.2 怎么定義格式
12.3.3 使用格式
12.3.4 字段容器
12.3.5 其他問題
12.4 小結與練習
12.4.1 小結
12.4.2 習題與思考
第13章 包和模塊
13.1 使用Perl包
13.1.1 包的定義
13.1.2 包的引用和導入
13.1.3 包之間的切換
13.1.4 包和子程序
13.1.5 用包定義私有數據
13.1.6 訪問符號表
13.2 使用Perl模塊
13.2.1 創(chuàng)建模塊
13.2.2 導入模塊
13.2.3 模塊使用舉例
13.3 Perl標準模塊
13.4 小結與練習
13.4.1 小結
13.4.2 習題與思考
第14章 面向對象編程
14.1 對象與類簡介
14.1.1 對象的特征
14.1.2 對象類
14.1.3 對象方法
14.1.4 對象變量
14.1.5 對象引用變量
14.2 用Perl 5創(chuàng)建類
14.2.1 構造函數
14.2.2 方法
14.2.3 Perl類中的成員變量
14.2.4 析構函數
14.3 繼承
14.4 方法的重載
14.4.1 子類方法的重載
14.4.2 操作符的重載
14.5 關于Perl面向對象編程的一些其他問題
14.6 小結與練習
14.6.1 小結
14.6.2 習題與思考
第15章 CGI編程
15.1 Web體系結構與CGI程序結構
15.1.1 Web體系結構
15.1.2 CGI程序結構
15.2 HTTP協議
15.2.1 HTTP通信模型
15.2.2 HTTP請求
15.2.3 HTTP響應
15.3 CGI規(guī)范
15.3.1 CGI程序工作原理
15.3.2 CGI方法
15.3.3 環(huán)境變量
15.4 CGI模塊
15.4.1 使用CGI模塊
15.4.2 創(chuàng)建動態(tài)文檔
15.4.3 創(chuàng)建HTML元素
15.4.4 創(chuàng)建表單
15.5 計數器實現
15.5.1 設計思路
15.5.2 代碼實現
15.6 留言簿實現
15.6.1 設計思路
15.7 小結與練習
15.7.1 小結
15.7.2 習題與思考
第16章 數據庫編程
16.1 數據庫基礎
16.2 SQL語句
16.2.1 關系型數據庫簡介
16.2.2 數據類型
16.2.3 創(chuàng)建和刪除表
16.2.4 插入數據
16.2.5 數據查詢
16.2.6 修改數據
16.3 使用DBI
16.3.1 DBI與DBD
16.3.2 DBI編程環(huán)境的搭建與測試
16.3.3 句柄
16.3.4 連接和斷開連接
16.3.5 數據庫操作
16.4 DBM數據庫
16.4.1 創(chuàng)建和打開DBM文件
16.4.2 插入和刪除記錄
16.4.3 遍歷DBM數據庫
16.5 小結與練習
16.5.1 小結
16.5.2 習題與思考
第17章 網絡編程
17.1 Socket基礎
17.1.1 Socket原理
17.1.2 客戶端/服務器模型
17.2 Perl對Socket的支持
17.2.1 和協議相關的函數
17.2.2 Socket底層函數
17.3 面向連接模型應用
17.3.1 服務器端的程序
17.3.2 客戶端的程序
17.4 使用預編譯模塊
17.4.1 使用Net::FTP模塊
17.4.2 使用Net::POP3模塊
17.5 RPC的實現
17.5.1 Msg模塊實現
17.5.2 Msg模塊使用舉例
17.5.3 RPC模塊的實現
17.5.4 RPC模塊使用舉例
17.6 小結與練習
17.6.1 小結
17.6.2 習題與思考
附錄 部分習題參考答案