发表于2024-12-22
Effective Perl:編寫高質量Perl代碼的有效方法(第2版 英文版) pdf epub mobi txt 電子書 下載 2024
《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
英文版的 看著有點費勁 不過比中文版的讀著理解起來更準確
評分很經典的一本專業書,想鍛煉自己的英文,所以買瞭一本英文原版的。所以讀的很慢
評分自從meyes的effective cpp係列一炮打響,起著名還是需要勇氣和實力的
評分不錯,原版的看著過癮
評分學Java和IT英文必備
評分好 不錯 還可以 挺不錯的
評分據說很不錯的書,學習java必讀書籍,書的質量也不錯,可惜自己英文水平一般,還沒讀完。
評分包裝很好,提升Java編程效率很有幫助。
評分很不錯的一本書,也不貴,京東送貨時間快,很好啊啊
Effective Perl:編寫高質量Perl代碼的有效方法(第2版 英文版) pdf epub mobi txt 電子書 下載