Perl 高效編程 (第2版) Effective Perl Programming: Ways to Write Better, More Idiomatic Perl, 2/e

約瑟夫 N.霍爾(Joseph N. Hall), 約書亞 A.麥克亞當斯(Joshua A. McAdams), 布萊恩 D.福瓦(brian d foy )

立即出貨 (庫存 < 4)

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

霍爾、麥克亞當斯、福瓦編寫的《Perl高效編程(第2版)》是Perl編程領域的「聖經級」著作。它提供了100多個詳實的應用案例,足以涵蓋編程過程中經常遇到的方方面面,由此詳細闡釋出各種高效且簡潔的寫法。本書第1版曾暢銷10年之久,而在第2版中不僅修正了前版存在的一些問題,更與時俱進地引入了許多Perl領域的新主題,使內容更加完善豐富,也更具實用性。
本書為初級Perl程序員鋪就了一條通往高階之路,而對高級Perl程序員來說,本書也是必備的技術參考。

 

<章節目錄>

第1章 Perl基礎
  條款1 查閱Perl及其模塊的文檔
  條款2 在需要時開啟Perl新特性
  條款3 打開約束指令,讓編碼更規範
  條款4 瞭解魔符的含義
  條款5 弄清變量名字空間
  條款6 瞭解字串和數值比較間的差異
  條款7 弄清何時變量為假,並依此作出正確判別
  條款8 理解字符串和數字之間的轉換
  條款9 弄清列表和數組間的差別
  條款10 如需空數組,請勿用undef賦值
  條款11 僅需單個元素時請勿用切片
  條款12 理解上下文及其對操作的影響
  條款13 用數組或散列集結一組數據
  條款14 用bignum處理大數
第2章 Perl的地道用法
  條款15 為優雅、簡潔而使用$_
  條款16 瞭解其他默認參數
  條款17 常見簡寫和雙關語
  條款18 避免過分依賴標點符號
  條款19 調整列表格式以便於維護
  條款20 善用foreach、map和grep
  條款21 瞭解各種字符串引用方法
  條款22 掌握多種排序方式
  條款23 通過智能匹配簡化工作
  條款24 用given-when構造switch語句
  條款25 用do {}創建內聯子程序
  條款26 用List::Util和List::MoreUtils簡化列表處理
  條款27 用autodie簡化錯誤處理
第3章 正則表達式
  條款28 瞭解正則表達式操作符的優先級
  條款29 使用正則表達式的捕獲功能
  條款30 使用更精確的空白字符組
  條款31 使用命名捕獲,給匹配加標籤
  條款32 僅需分組時,用非捕獲括號
  條款33 小心處理匹配變量
  條款34 能懶則懶,不要貪婪
  條款35 用零寬斷言匹配字串中的特定位置
  條款36 簡單字串處理應避免使用正則表達式
  條款37 提高正則表達式的可讀性
  條款38 避免不必要的回溯
  條款39 僅編譯正則表達式一次
  條款40 預編譯正則表達式
  條款41 正則表達式的性能評測
  條款42 不要濫造正則表達式
第4章 子程序
  條款43 理解my和local之間的差異
  條款44 若非必要請勿直接使用@_
  條款45 用wantarray按需返回列表
  條款46 傳遞引用而非副本

  條款47 用散列傳遞命名參數
  條款48 通過參數原型聲明以特殊方式解析參數
  條款49 創建閉包鎖住數據
  條款50 用子程序創建新子程序
第5章 文件與文件句柄
  條款51 不要忽略文件測試操作符
  條款52 始終以三項參數的形式調用open
  條款53 採用不同方式讀取數據流
  條款54 處理字符串的文件句柄
  條款55 靈活的輸出方式
  條款56 用File::Spec或Path::Class處理文件路徑
  條款57 將數據留於磁盤以節約內存
第6章 引用
  條款58 理解引用和引用的語法
  條款59 將引用類型和原型進行比較
  條款60 通過引用創建包含數組的數組
  條款61 別將匿名數組和列表直接量搞混淆
  條款62 通過匿名散列創建C風格的struct結構
  條款63 小心循環數據結構
  條款64 用map和grep操作複雜數據結構
第7章 CPAN
  條款65 以非管理員權限安裝CPAN模塊
  條款66 擁有自己的CPAN
  條款67 減少公共代碼帶來的風險
  條款68 安裝模塊前先行調研
  條款69 確保Perl能找到我們的模塊
  條款70 為CPAN作貢獻
  條款71 瞭解常用模塊
第8章 Unicode
  條款72 在源代碼中使用Unicode字符
  條款73 告訴Perl該用何種編碼方式
  條款74 通過代碼值或名字輸入Unicode字符
  條款75 位組字串轉換到字符字串
  條款76 Unicode字符和屬性的模式匹配
  條款77 同字素打交道,而不是字符
  條款78 謹慎處理數據庫中的Unicode
第9章 軟件分發
  條款79 用Module::Build構建發行版
  條款80 不必手工新建軟件發行版
  條款81 給模塊取個好名字
  條款82 在代碼中嵌入Pod文檔
  條款83 限制我們的發行版用於特定平臺
  條款84 檢查Pod文檔
  條款85 嵌入其他語言代碼
  條款86 用XS鏈接低級語言,提高運行速度
第10章 測試
  條款87 用prove靈活運行測試
  條款88 有目的性地運行測試
  條款89 用依賴註入避免特殊測試邏輯
  條款90 避免給方法引入不必要的東西

  條款91 把程序寫成模塊便於測試
  條款92 用虛擬的對象或接口測試
  條款93 用SQLite創建測試用數據庫
  條款94 用Test::Class編寫結構化測試
  條款95 項目一開始就準備好測試
  條款96 度量測試覆蓋率
  條款97 把CPAN Testers當作QA團隊
  條款98 設置持續編譯系統
第11章 警告信息
  條款99 啟用警告功能定位可疑代碼
  條款100 利用詞法作用域選擇性啟用或關閉警告
  條款101 用die拋出異常
  條款102 用Carp來獲得棧跟蹤信息
  條款103 正確處理異常
  條款104 通過污染檢查跟蹤危險數據
  條款105 對老舊程序啟用污染警告
第12章 數據庫
  條款106 預備SQL語句以復用並節省時間
  條款107 利用SQL佔位符將參數值自動引起
  條款108 通過綁定返回列快速訪問數據
  條款109 復用數據庫連接
第13章 雜項
  條款110 編譯並安裝自己的perl解釋器
  條款111 用Perl::Tidy美化代碼
  條款112 使用Perl Critic
  條款113 用Log::Log4perl記錄程序運行狀態
  條款114 明白循環內的數組何時會被修改
  條款115 不要用正則表達式提取逗號分隔的字串
  條款116 用unpack處理固定列寬的數據
  條款117 用pack和unpack對數據作變形處理
  條款118 借用typeglob訪問符號表
  條款119 用BEGIN初始化,以END善後
  條款120 用單行Perl命令作為迷你程序
附錄 Perl資源