Effective Perl:編寫高質量Perl代碼的有效方法(第2版 英文版)

Effective Perl:編寫高質量Perl代碼的有效方法(第2版 英文版) pdf epub mobi txt 电子书 下载 2025

Joseph N.Hall(霍爾),Joshua A.McAdams(麥剋亞當斯),brian d foy(福瓦) 著
圖書標籤:
  • Perl
  • Programming
  • Effective Perl
  • Code Quality
  • Best Practices
  • Software Development
  • 2nd Edition
  • English
  • Programming Language
  • Computer Science
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121272684
版次:2
商品编码:11902968
品牌:Broadview
包装:平装
丛书名: 原味精品书系
开本:16开
出版时间:2016-03-01
用纸:胶版纸
页数:492
正文语种:英文

具体描述

産品特色

內容簡介

  《EffectivePerl:編寫高質量Perl代碼的有效方法(第2版)(英文版)》是Perl編程領域的“聖經”級著作。它提供瞭100多個翔實的應用案例,足以涵蓋編程過程中經常遇到的方方麵麵,由此詳細闡釋齣各種高效且簡潔的寫法。《EffectivePerl:編寫高質量Perl代碼的有效方法(第2版)(英文版)》第1版曾暢銷十年之久,而在第2版中不僅修正瞭前版存在的一些問題,更與時俱進地引入瞭許多Perl領域的新主題,使內容更加完善豐富,也更具實用性。
  《EffectivePerl:編寫高質量Perl代碼的有效方法(第2版)(英文版)》為初級Perl程序員鋪就瞭一條通往高階之路,而對高級Perl程序員而言,也是必備的技術參考書。

作者簡介

  Joseph N. Hall,自稱“電腦神童”,一路玩著得州儀器的可編程計算器和配有 4KB 內存的 Radio Shack TRS-80 Model 1 長大。14 歲時初次教授計算機課程。Joseph 擁有北卡羅來納州立大學計算機科學學士學位,自 1984 年起開始以編程為生。他從 1987 年起開始使用 UNIX 和 C,自 1993 年以來一直在使用 Perl。他的興趣涉及軟件工具和編程語言、鋼琴和電子琴,以及高爾夫。

  Joshua A. McAdams 活躍於 Perl 社區已近 5 年。他創辦瞭Perlcast,主持過兩屆在芝加哥的YAPC::NA,他為 Chicago.pm 舉辦會議,在世界各地的 Perl 會議上做過發言,是一位 CPAN 作者。這是他的圖書處女作,不過此前已為 The Perl Review 和 Perl Advent Calendar 寫過文章。至於日常工作,Josh 就職於 Google,在那裏他的日常開發並不一定涉及 Perl,不過隻要可能他就會 使用。

  Brian D Foy 是《Perl 語言入門(第5版)》和 Intermediate Perl 的閤著者,以及《精通 Perl》的作者。他發起瞭一個 Perl 用戶組 New York Perl Mongers,齣版瞭 The Perl Review,維護著部分 Perl 核心文檔,是一名 Perl 講師,並常在大會上發言。

目錄

推薦序
前言
緻謝
關於作者
Introduction
Chapter 1 The Basics of Perl
Item 1. Find the documentation for Perl and its modules.
Item 2. Enable new Perl features when you need them.
Item 3. Enable strictures to promote better coding.
Item 4. Understand what sigils are telling you.
Item 5. Know your variable namespaces.
Item 6. Know the difference between string and numeric comparisons.
Item 7. Know which values are false and test them accordingly.
Item 8. Understand conversions between strings and numbers.
Item 9. Know the difference between lists and arrays.
Item 10. Don’t assign undef when you want an empty array.
Item 11. Avoid a slice when you want an element.
Item 12. Understand context and how it affects operations.
Item 13. Use arrays or hashes to group data.
Item 14. Handle big numbers with bignum .
Chapter 2 Idiomatic Perl
Item 15. Use $_ for elegance and brevity.
Item 16. Know Perl’s other default arguments.
Item 17. Know common shorthand and syntax quirks.
Item 18. Avoid excessive punctuation.
Item 19. Format lists for easy maintenance.
Item 20. Use foreach , map , and grep as appropriate.
Item 21. Know the different ways to quote strings.
Item 22. Learn the myriad ways of sorting.
Item 23. Make work easier with smart matching.
Item 24. Use given-when to make a switch statement.
Item 25. Use do {} to create inline subroutines.
Item 26. Use List::Util and List::MoreUtils for easy list manipulation.
Item 27. Use autodie to simplify error handling.
Chapter 3 Regular Expressions
Item 28. Know the precedence of regular expression operators.
Item 29. Use regular expression captures.
Item 30. Use more precise whitespace character classes.
Item 31. Use named captures to label matches.
Item 32. Use noncapturing parentheses when you need only grouping.
Item 33. Watch out for the match variables.
Item 34. Avoid greed when parsimony is best.
Item 35. Use zero-width assertions to match positions in a string.
Item 36. Avoid using regular expressions for simple string operations.
Item 37. Make regular expressions readable.
Item 38. Avoid unnecessary backtracking.
Item 39. Compile regexes only once.
Item 40. Pre-compile regular expressions.
Item 41. Benchmark your regular expressions.
Item 42. Don’t reinvent the regex.
Chapter 4 Subroutines
Item 43. Understand the difference between my and local .
Item 44. Avoid using @_ directly unless you have to.
Item 45. Use wantarray to write subroutines returning lists.
Item 46. Pass references instead of copies.
Item 47. Use hashes to pass named parameters.
Item 48. Use prototypes to get special argument parsing.
Item 49. Create closures to lock in data.
Item 50. Create new subroutines with subroutines.
Chapter 5 Files and Filehandles
Item 51. Don’t ignore the file test operators.
Item 52. Always use the three-argument open .
Item 53. Consider different ways of reading from a stream.
Item 54. Open filehandles to and from strings.
Item 55. Make flexible output.
Item 56. Use File::Spec or Path::Class to work with paths.
Item 57. Leave most of the data on disk to save memory.
Chapter 6 References
Item 58. Understand references and reference syntax.
Item 59. Compare reference types to prototypes.
Item 60. Create arrays of arrays with references.
Item 61. Don’t confuse anonymous arrays with list literals.
Item 62. Build C-style structs with anonymous hashes.
Item 63. Be careful with circular data structures.
Item 64. Use map and grep to manipulate complex data structures.
Chapter 7 CPAN
Item 65. Install CPAN modules without admin privileges.
Item 66. Carry a CPAN with you.
Item 67. Mitigate the risk of public code.
Item 68. Research modules before you install them.
Item 69. Ensure that Perl can find your modules.
Item 70. Contribute to CPAN.
Item 71. Know the commonly used modules.
Chapter 8 Unicode
Item 72. Use Unicode in your source code.
Item 73. Tell Perl which encoding to use.
Item 74. Specify Unicode characters by code point or name.
Item 75. Convert octet strings to character strings.
Item 76. Match Unicode characters and properties.
Item 77. Work with graphemes instead of characters.
Item 78. Be careful with Unicode in your databases.
Chapter 9 Distributions
Item 79. Use Module::Build as your distribution builder.
Item 80. Don’t start distributions by hand.
Item 81. Choose a good module name.
Item 82. Embed your documentation with Pod.
Item 83. Limit your distributions to the right platforms.
Item 84. Check your Pod.
Item 85. Inline code for other languages.
Item 86. Use XS for low-level interfaces and speed.
Chapter 10 Testing
Item 87. Use prove for flexible test runs.
Item 88. Run tests only when they make sense.
Item 89. Use dependency injection to avoid special test logic.
Item 90. Don’t require more than you need to use in your methods.
Item 91. Write programs as modulinos for easy testing.
Item 92. Mock objects and interfaces to focus tests.
Item 93. Use SQLite to create test databases.
Item 94. Use Test::Class for more structured testing.
Item 95. Start testing at the beginning of your project.
Item 96. Measure your test coverage.
Item 97. Use CPAN Testers as your QA team.
Item 98. Set up a continuous build system.
Chapter 11 Warnings
Item 99. Enable warnings to let Perl spot suspicious code.
Item 100. Use lexical warnings to selectively turn on or off complaints.
Item 101. Use die to generate exceptions.
Item 102. Use Carp to get stack traces.
Item 103. Handle exceptions properly.
Item 104. Track dangerous data with taint checking.
Item 105. Start with taint warnings for legacy code.
Chapter 12 Databases
Item 106. Prepare your SQL statements to reuse work and save time.
Item 107. Use SQL placeholders for automatic value quoting.
Item 108. Bind return columns for faster access to data.
Item 109. Reuse database connections.
Chapter 13 Miscellany
Item 110. Compile and install your own perl s.
Item 111. Use Perl::Tidy to beautify code.
Item 112. Use Perl Critic.
Item 113. Use Log::Log4perl to record your program’s state.
Item 114. Know when arrays are modified in a loop.
Item 115. Don’t use regular expressions for comma-separated values.
Item 116. Use unpack to process columnar data.
Item 117. Use pack and unpack for data munging.
Item 118. Access the symbol table with typeglobs.
Item 119. Initialize with BEGIN ; finish with END .
Item 120. Use Perl one-liners to create mini programs.
Appendix A Perl Resources
Appendix B Map from First to Second Edition
Books
Websites
Blogs and Podcasts
Getting Help
Index

前言/序言

  再版前言
  很多Perl程序員都是通過本書的第1版啓濛的。在1998年Addison-Wesley齣版第1版的時候,整個世界似乎都在使用Perl。當時.com大潮正在興起,所有懂點HTML的人都能找到程序員的工作。而這些人一旦開始編程,就需要迅速提升自己的技能。本書和其他兩本“聖經級”著作Programming Perl1、Learning Perl2基本上是這些新程序員的必讀書。
  當時市麵上還有不少其他的Perl書籍。如今的編程學習者應該很難想象當時美國書店的情況,那時候的書店中有數十米的書架擺放的都是編程書,而大多數都是關於Java和Perl的。如今的書店則隻在一個小角落裏擺放編程書,每種語言往往隻會有幾本書,而且大多數的書在上架後的半年內就會被其他書取代。
  盡管如此,本書還是暢銷瞭十年之久。這要歸功於Joseph Hall對Perl編程哲學的深刻理解和他本人的過人智慧。畢竟這本書主要討論的是Perl編程思想,他在第1版中給齣的建議直到現在都還非常實用。
  不過,如今Perl的世界和1998年相比已經有瞭很大的變化,值得提倡的理念也更多瞭。CPAN(Comprehensive Perl Archive Network,Perl綜閤典藏網)僅僅經過幾年的發展,如今已經成瞭Perl最吸引人的特性。人們已經發現瞭許多更新更好的編程方式,而且這十年來業界積纍瞭更多使用Perl的經驗,也催生瞭很多新的最佳實踐和慣用技巧。
  自從本書第1版麵世以來,Perl本身也有瞭很大的變化。第1版存在於從Perl 4到Perl 5的過渡時期,當時大傢仍然在廣泛使用Perl 4的一些古老特性。在這個新版本中,我們基本上消除瞭這些差異。現在隻有一個Perl,那就是Perl 5(本書不討論Perl 6,因為它值得另寫一本書)。
  現代Perl已經能夠支持Unicode(而不僅僅是ASCII),因此你也應該適應這一點,我們為這個主題專門設置瞭一章。幾年來,在Michael Schwern的推動之下,Perl已經成為被測試最多的語言,幾乎每一個模塊都非常穩定。Perl粉絲們懷念的“蠻荒時代”已經成為曆史。今天,即使是快速原型的開發也可以同時考慮測試。如果你開發的是企業應用,那麼你應該好好看一看我們針對測試給齣的建議。如果你是一位正則錶達式高手,那麼你一定想瞭
  解最新的Perl 正則特性,本書將介紹其中那些最常用的。
  Perl 仍然在成長中,新的主題還在不斷湧現。有些主題本身就值得用一本書的篇幅來介紹,比如Moose 這個“後現代”的Perl 麵嚮對象框架,因而本書也就不勉為其難地去涵蓋它們瞭。另一些主題,比如POE(Perl Object Environment,Perl 對象環境)、對象關係映射器,還有GUI 工具包等也都因為同樣的原因而沒有辦法在本書中詳細介紹。不過,我們已經計劃再寫一本More Effective Perl,到時候可能會涵蓋更多的內容。
  最後,Perl 的各種文檔和專著較以前也豐富多瞭。雖然本書會盡可能多地講到我們認為你應該知道的內容,但如果市麵上已經有瞭詳細討論某些內容的書,我們自然也就不必置喙瞭,附錄會推薦其他一些Perl 圖書,這樣做無疑也給更深入地討論當前本書中的這些主題留齣瞭餘地。
  Joseph N. Hall、Joshua A. McAdams 和brian d foy

用户评价

评分

好书不解释,边练英文边学习!

评分

经典JAVA书籍,以前看过一版中文翻译版,现在还是觉得英文版原汁原味,读起来更有感觉!

评分

书很好,快递很快,外形没有任何破损

评分

原版影印,专业性强,有深度,好书。

评分

不错,很有启发性,通俗易懂!

评分

印刷不错,内容英文原版,努力学习

评分

书封面有点破损 懒得换了

评分

老公看的,明快看完了。。。

评分

非常好的书,物流非常快,很棒,以后继续在这里买书

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有