Perl 是個自由且功能強大的程式語言,從 1987 年首次出現以來,它的使用者呈爆炸性成長。 本書的第一版於 1991 年問世之後,就迅速成為公認的 Perl 聖經。
《Perl 程式設計》並不祇是一本關於 Perl 的書。它也是一本獨一無二、介紹這個語言及其文化的書, 因為你只會想從本書作者身上得知這些內容。Larry Wall 是 Perl 的發明人,而且也是Perl演化及其未來方向的唯一代表。 Tom Christiansen 是 Perl 首席大師之一,他跟其他少數幾個人一樣,生活在Perl複雜而精緻的世界裡。Jon Orwant 是 《The Perl Journal》的編輯,這本刊物將Perl社群集結在一起,成為討論Perl新發展的公共論壇。
任何 Perl 書籍都可以告訴你 Perl 函式的語法,但是只有這一本是絕對的導引手冊, 它包含了這個語言所有的書籍與細節。任何一本 Perl 書籍都可以列出無限多的特性,但是只有本書可以告訴你為什麼要創造這些特性, 以及習慣上怎麼使用它們。任何 Perl 書籍都可以有一個書名,但是只有這本書被Perl程式設計師們認同為「駱駝書」(The Camel)。
Perl 的初衷,是要成為一種高階語言,可用來撰寫能在跨平台環境中移植的工具。從那時起,Perl 已經被公認為是 一個具有工業級能力的工具,不管你在何方,都可以把工作做好。它對系統管理員與網頁程式特別有用。幾乎所有的Unix 系作業系統(包括 Linux), 都把 Perl 當成隨附的標準元件,不過它在微軟視窗上的使用也很廣泛,而且它幾乎可以在所有其他你遇過的作業系統上執行。Amiga、BeOS、VMS、 MVS 以及蘋果麥金塔,祇是已經移植了Perl 的平台中的少數幾個。
這個版本有什麼新東西?實際上是全部。《Perl 程式設計》第三版不但涵蓋了 Perl 5.6 版,也全面重整並新增了大量的範例。大部分既存的主題都被嚴重地重新整理過,像是:物件導向程式設計與正規表示式,而且加入了許多全新的章節,包括 profiling、pod、萬國碼、執行緒、編譯以及 Perl 的內部。
部分的聖經、部分的百科全書、部分的年鑑,這是一本 Perl 的基礎書籍。
目錄
前言
第一部分 概論
第 1 章 概論
1.1 入門指引
1.2 自然語言與人工語言
1.3 舉個計算成績的範例
1.4 檔案代號
1.5 算符
1.6 控制結構
1.7 正規表示式
1.8 串列的處理
1.9 一知半解又何妨
第二部分 深度剖析
第 2 章 見微知著
2.1 原子
2.2 分子
2.3 內建的資料型別
2.4 變數
2.5 名稱
2.6 純量值
2.7 語境
2.8 串列值與陣列
2.9 雜湊
2.10 型別叢集和檔案代號
2.11 輸入算符
第 3 章 一元和二元算符
3.1 項和串列算符(左向)
3.2 箭號算符
3.3 自動遞增和自動遞減算符
3.4 指數運算
3.5 表意的一元算符
3.6 繫結算符
3.7 與乘法有關的算符
3.8 與加法有關的算符
3.9 移位算符
3.10 具名一元算符和檔案測試算符
3.11 關係算符
3.12 相等算符
3.13 逐位元算符
3.14 C 風格的邏輯(短路)算符
3.15 範圍算符
3.16 條件算符
3.17 賦值算符
3.18 逗號算符
3.19 串列算符(右向)
3.20 邏輯算符 and、or、not 和 xor
3.21 Perl 沒有提供的 C 語言算符
第 4 章 敘述和宣告
4.1 簡單的敘述
4.2 複合敘述
4.3 if 和 else 敘述
4.4 迴圈敘述
4.5 未經修飾的區塊
4.6 goto
4.7 全域宣告
4.8 有效範圍的宣告
4.9 編譯命令
第 5 章 樣式比對
5.1 正規表示式箴言
5.2 樣式比對算符
5.3 中介字符和中介符號
5.4 字符集
5.5 量詞
5.6 位置
5.7 擷取和群集
5.8 候選項
5.9 保持控制
5.10 花俏的樣式
第 6 章 副常式
6.1 語法
6.2 語義
6.3 傳遞參照
6.4 原型
6.5 副常式的屬性
第 7 章 格式
7.1 格式變數
7.2 頁尾
第 8 章 參照
8.1 什麼是參照?
8.2 建立參照
8.3 使用硬式參照
8.4 符號參照
8.5 大括號、中括號和引號
第 9 章 資料結構
9.1 陣列的陣列
9.2 陣列的雜湊
9.3 雜湊的陣列
9.4 雜湊的雜湊
9.5 函式的雜湊
9.6 更複雜的紀錄
9.7 儲存資料結構
第 10 章 套件
10.1 符號表
10.2 自動載入
第 11 章 模組
11.1 使用模組
11.2 建立模組
11.3 覆寫內建函式
第 12 章 物件
12.1 OOL 溫故知新
12.2 Perl 的物件系統
12.3 方法調用
12.4 產生物件
12.5 類別的繼承
12.6 實體解構函式
12.7 管理實體資料
12.8 管理類別資料
12.9 總結
第 13 章 多載
13.1 overload 編譯命令
13.2 多載處理常式
13.3 可多載的算符
13.4 複製建構函式(=)
13.5 當沒有多載處理常式時(nomethod 和 fallback)
13.6 多載常數
13.7 公有多載函式
13.8 繼承和多載
13.9 執行時期多載
13.10 多載診斷
第 14 章 經繫結的變數
14.1 繫結純量(tying scalar)
14.2 繫結陣列(tying array)
14.3 繫結雜湊(tying hash)
14.4 繫結檔案代號(tying filehandle)
14.5 一個難以捉摸的解繫陷阱
14.6 CPAN 中的模組
第三部分 技術的 Perl
第 15 章 萬國碼
15.1 建構字符
15.2 字符語義的效果
15.3 注意,「人」可以用了
第 16 章 行程間通訊
16.1 信號
16.2 檔案
16.3 導管
16.4 System V IPC
16.5 Socket
第 17 章 執行緒
17.1 行程模型
17.2 執行緒模型
第 18 章 編譯
18.1 Perl 程式的生命週期
18.2 編譯你的程式碼
18.3 執行你的程式碼
18.4 編譯器的後端
18.5 程式碼產生器
18.6 程式碼發展工具
18.7 提前編譯,回頭解譯
第 19 章 命令列介面
19.1 命令列的處理
19.2 環境變數
第 20 章 Perl 的除錯器
20.1 使用除錯器
20.2 除錯器的命令
20.3 自訂除錯器
20.4 不被注意的執行
20.5 除錯器的支援
20.6 Perl 的評測器
第 21 章 Perl 的內部與外部
21.1 Perl 的運作原理
21.2 內部的資料型別
21.3 擴展 Perl(在 Perl 中使用 C)
21.4 內嵌 Perl(從 C 來使用 Perl)
21.5 小故事大啟示
第四部分 文化的 Perl
第 22 章 Perl 綜合典藏網
22.1 CPAN 模組的目錄
22.2 使用 CPAN 模組
22.3 製作 CPAN 模組
第 23 章 Perl 的安全性
23.1 處理不安全的資料
23.2 處理計時縫隙
23.3 處理不安全的程式碼
第 24 章 Perl 的習慣用法
24.1 新手常犯的錯誤
24.2 效率
24.3 程式設計的風格
24.4 流利的 Perl
24.5 程式產生器
第 25 章 Perl 的可移植性
25.1 換列字符
25.2 位元組順序(endianness)與數字寬度
25.3 檔案和檔案系統
25.4 與系統的互動
25.5 行程間通訊(IPC)
25.6 外部副常式(XS)
25.7 標準模組
25.8 日期和時間
25.9 國際化
25.10 風格
第 26 章 簡明舊式文件
26.1 淺談 Pod
26.2 pod 的轉譯器和模組
26.3 撰寫你自己的 pod 工具
26.4 pod 的陷阱
26.5 為你的 Perl 程式提供文件
第 27 章 Perl 的文化
27.1 歷史讓 Perl 成真
27.2 Perl 詩
詞彙表
索引
前言
第一部分 概論
第 1 章 概論
1.1 入門指引
1.2 自然語言與人工語言
1.3 舉個計算成績的範例
1.4 檔案代號
1.5 算符
1.6 控制結構
1.7 正規表示式
1.8 串列的處理
1.9 一知半解又何妨
第二部分 深度剖析
第 2 章 見微知著
2.1 原子
2.2 分子
2.3 內建的資料型別
2.4 變數
2.5 名稱
2.6 純量值
2.7 語境
2.8 串列值與陣列
2.9 雜湊
2.10 型別叢集和檔案代號
2.11 輸入算符
第 3 章 一元和二元算符
3.1 項和串列算符(左向)
3.2 箭號...