Flylib.com
Perl Best Practices
Perl Best Practices
ISBN: 0596001738
EAN: 2147483647
Year: 2004
Pages: 350
Authors:
Damian Conway
BUY ON AMAZON
Perl Best Practices
Table of Contents
Copyright
Dedication
Preface
Contents of This Book
Conventions Used in This Book
Code Examples
Feedback
Acknowledgments
Chapter 1. Best Practices
Section 1.1. Three Goals
Section 1.2. This Book
Section 1.3. Rehabiting
Chapter 2. Code Layout
Section 2.1. Bracketing
Section 2.2. Keywords
Section 2.3. Subroutines and Variables
Section 2.4. Builtins
Section 2.5. Keys and Indices
Section 2.6. Operators
Section 2.7. Semicolons
Section 2.8. Commas
Section 2.9. Line Lengths
Section 2.10. Indentation
Section 2.11. Tabs
Section 2.12. Blocks
Section 2.13. Chunking
Section 2.14. Elses
Section 2.15. Vertical Alignment
Section 2.16. Breaking Long Lines
Section 2.17. Non-Terminal Expressions
Section 2.18. Breaking by Precedence
Section 2.19. Assignments
Section 2.20. Ternaries
Section 2.21. Lists
Section 2.22. Automated Layout
Chapter 3. Naming Conventions
Section 3.1. Identifiers
Section 3.2. Booleans
Section 3.3. Reference Variables
Section 3.4. Arrays and Hashes
Section 3.5. Underscores
Section 3.6. Capitalization
Section 3.7. Abbreviations
Section 3.8. Ambiguous Abbreviations
Section 3.9. Ambiguous Names
Section 3.10. Utility Subroutines
Chapter 4. Values and Expressions
Section 4.1. String Delimiters
Section 4.2. Empty Strings
Section 4.3. Single-Character Strings
Section 4.4. Escaped Characters
Section 4.5. Constants
Section 4.6. Leading Zeros
Section 4.7. Long Numbers
Section 4.8. Multiline Strings
Section 4.9. Here Documents
Section 4.10. Heredoc Indentation
Section 4.11. Heredoc Terminators
Section 4.12. Heredoc Quoters
Section 4.13. Barewords
Section 4.14. Fat Commas
Section 4.15. Thin Commas
Section 4.16. Low-Precedence Operators
Section 4.17. Lists
Section 4.18. List Membership
Chapter 5. Variables
Section 5.1. Lexical Variables
Section 5.2. Package Variables
Section 5.3. Localization
Section 5.4. Initialization
Section 5.5. Punctuation Variables
Section 5.6. Localizing Punctuation Variables
Section 5.7. Match Variables
Section 5.8. Dollar-Underscore
Section 5.9. Array Indices
Section 5.10. Slicing
Section 5.11. Slice Layout
Section 5.12. Slice Factoring
Chapter 6. Control Structures
Section 6.1. If Blocks
Section 6.2. Postfix Selectors
Section 6.3. Other Postfix Modifiers
Section 6.4. Negative Control Statements
Section 6.5. C-Style Loops
Section 6.6. Unnecessary Subscripting
Section 6.7. Necessary Subscripting
Section 6.8. Iterator Variables
Section 6.9. Non-Lexical Loop Iterators
Section 6.10. List Generation
Section 6.11. List Selections
Section 6.12. List Transformation
Section 6.13. Complex Mappings
Section 6.14. List Processing Side Effects
Section 6.15. Multipart Selections
Section 6.16. Value Switches
Section 6.17. Tabular Ternaries
Section 6.18. do-while Loops
Section 6.19. Linear Coding
Section 6.20. Distributed Control
Section 6.21. Redoing
Section 6.22. Loop Labels
Chapter 7. Documentation
Section 7.1. Types of Documentation
Section 7.2. Boilerplates
Section 7.3. Extended Boilerplates
Section 7.4. Location
Section 7.5. Contiguity
Section 7.6. Position
Section 7.7. Technical Documentation
Section 7.8. Comments
Section 7.9. Algorithmic Documentation
Section 7.10. Elucidating Documentation
Section 7.11. Defensive Documentation
Section 7.12. Indicative Documentation
Section 7.13. Discursive Documentation
Section 7.14. Proofreading
Chapter 8. Built-in Functions
Section 8.1. Sorting
Section 8.2. Reversing Lists
Section 8.3. Reversing Scalars
Section 8.4. Fixed-Width Data
Section 8.5. Separated Data
Section 8.6. Variable-Width Data
Section 8.7. String Evaluations
Section 8.8. Automating Sorts
Section 8.9. Substrings
Section 8.10. Hash Values
Section 8.11. Globbing
Section 8.12. Sleeping
Section 8.13. Mapping and Grepping
Section 8.14. Utilities
Chapter 9. Subroutines
Section 9.1. Call Syntax
Section 9.2. Homonyms
Section 9.3. Argument Lists
Section 9.4. Named Arguments
Section 9.5. Missing Arguments
Section 9.6. Default Argument Values
Section 9.7. Scalar Return Values
Section 9.8. Contextual Return Values
Section 9.9. Multi-Contextual Return Values
Section 9.10. Prototypes
Section 9.11. Implicit Returns
Section 9.12. Returning Failure
Chapter 10. IO
Section 10.1. Filehandles
Section 10.2. Indirect Filehandles
Section 10.3. Localizing Filehandles
Section 10.4. Opening Cleanly
Section 10.5. Error Checking
Section 10.6. Cleanup
Section 10.7. Input Loops
Section 10.8. Line-Based Input
Section 10.9. Simple Slurping
Section 10.10. Power Slurping
Section 10.11. Standard Input
Section 10.12. Printing to Filehandles
Section 10.13. Simple Prompting
Section 10.14. Interactivity
Section 10.15. Power Prompting
Section 10.16. Progress Indicators
Section 10.17. Automatic Progress Indicators
Section 10.18. Autoflushing
Chapter 11. References
Section 11.1. Dereferencing
Section 11.2. Braced References
Section 11.3. Symbolic References
Section 11.4. Cyclic References
Chapter 12. Regular Expressions
Section 12.1. Extended Formatting
Section 12.2. Line Boundaries
Section 12.3. String Boundaries
Section 12.4. End of String
Section 12.5. Matching Anything
Section 12.6. Lazy Flags
Section 12.7. Brace Delimiters
Section 12.8. Other Delimiters
Section 12.9. Metacharacters
Section 12.10. Named Characters
Section 12.11. Properties
Section 12.12. Whitespace
Section 12.13. Unconstrained Repetitions
Section 12.14. Capturing Parentheses
Section 12.15. Captured Values
Section 12.16. Capture Variables
Section 12.17. Piecewise Matching
Section 12.18. Tabular Regexes
Section 12.19. Constructing Regexes
Section 12.20. Canned Regexes
Section 12.21. Alternations
Section 12.22. Factoring Alternations
Section 12.23. Backtracking
Section 12.24. String Comparisons
Chapter 13. Error Handling
Section 13.1. Exceptions
Section 13.2. Builtin Failures
Section 13.3. Contextual Failure
Section 13.4. Systemic Failure
Section 13.5. Recoverable Failure
Section 13.6. Reporting Failure
Section 13.7. Error Messages
Section 13.8. Documenting Errors
Section 13.9. OO Exceptions
Section 13.10. Volatile Error Messages
Section 13.11. Exception Hierarchies
Section 13.12. Processing Exceptions
Section 13.13. Exception Classes
Section 13.14. Unpacking Exceptions
Chapter 14. Command-Line Processing
Section 14.1. Command-Line Structure
Section 14.2. Command-Line Conventions
Section 14.3. Meta-options
Section 14.4. In-situ Arguments
Section 14.5. Command-Line Processing
Section 14.6. Interface Consistency
Section 14.7. Interapplication Consistency
Chapter 15. Objects
Section 15.1. Using OO
Section 15.2. Criteria
Section 15.3. Pseudohashes
Section 15.4. Restricted Hashes
Section 15.5. Encapsulation
Section 15.6. Constructors
Section 15.7. Cloning
Section 15.8. Destructors
Section 15.9. Methods
Section 15.10. Accessors
Section 15.11. Lvalue Accessors
Section 15.12. Indirect Objects
Section 15.13. Class Interfaces
Section 15.14. Operator Overloading
Section 15.15. Coercions
Chapter 16. Class Hierarchies
Section 16.1. Inheritance
Section 16.2. Objects
Section 16.3. Blessing Objects
Section 16.4. Constructor Arguments
Section 16.5. Base Class Initialization
Section 16.6. Construction and Destruction
Section 16.7. Automating Class Hierarchies
Section 16.8. Attribute Demolition
Section 16.9. Attribute Building
Section 16.10. Coercions
Section 16.11. Cumulative Methods
Section 16.12. Autoloading
Chapter 17. Modules
Section 17.1. Interfaces
Section 17.2. Refactoring
Section 17.3. Version Numbers
Section 17.4. Version Requirements
Section 17.5. Exporting
Section 17.6. Declarative Exporting
Section 17.7. Interface Variables
Section 17.8. Creating Modules
Section 17.9. The Standard Library
Section 17.10. CPAN
Chapter 18. Testing and Debugging
Section 18.1. Test Cases
Section 18.2. Modular Testing
Section 18.3. Test Suites
Section 18.4. Failure
Section 18.5. What to Test
Section 18.6. Debugging and Testing
Section 18.7. Strictures
Section 18.8. Warnings
Section 18.9. Correctness
Section 18.10. Overriding Strictures
Section 18.11. The Debugger
Section 18.12. Manual Debugging
Section 18.13. Semi-Automatic Debugging
Chapter 19. Miscellanea
Section 19.1. Revision Control
Section 19.2. Other Languages
Section 19.3. Configuration Files
Section 19.4. Formats
Section 19.5. Ties
Section 19.6. Cleverness
Section 19.7. Encapsulated Cleverness
Section 19.8. Benchmarking
Section 19.9. Memory
Section 19.10. Caching
Section 19.11. Memoization
Section 19.12. Caching for Optimization
Section 19.13. Profiling
Section 19.14. Enbugging
Appendix A. Essential Perl Best Practices
Appendix B. Perl Best Practices
Section B.1. Chapter 2, Code Layout
Section B.2. Chapter 3, Naming Conventions
Section B.3. Chapter 4, Values and Expressions
Section B.4. Chapter 5, Variables
Section B.5. Chapter 6, Control Structures
Section B.6. Chapter 7, Documentation
Section B.7. Chapter 8, Built-in Functions
Section B.8. Chapter 9, Subroutines
Section B.9. Chapter 10, IO
Section B.10. Chapter 11, References
Section B.11. Chapter 12, Regular Expressions
Section B.12. Chapter 13, Error Handling
Section B.13. Chapter 14, Command-Line Processing
Section B.14. Chapter 15, Objects
Section B.15. Chapter 16, Class Hierarchies
Section B.16. Chapter 17, Modules
Section B.17. Chapter 18, Testing and Debugging
Section B.18. Chapter 19, Miscellanea
Appendix C. Editor Configurations
Section C.1. vim
Section C.2. vile
Section C.3. Emacs
Section C.4. BBEdit
Section C.5. TextWrangler
Appendix D. Recommended Modules and Utilities
Section D.1. Recommended Core Modules
Section D.2. Recommended CPAN Modules
Section D.3. Utility Subroutines
Appendix Bibliography. Bibliography
Colophon
About the Author
Colophon
Index
SYMBOL
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Perl Best Practices
ISBN: 0596001738
EAN: 2147483647
Year: 2004
Pages: 350
Authors:
Damian Conway
BUY ON AMAZON
Professional Java Native Interfaces with SWT/JFace (Programmer to Programmer)
Layouts
Other Important SWT Components
JFace Windows and Dialogs
Creating a Text Editor with JFace Text
Programming OLE in Windows
Cisco Voice Gateways and Gatekeepers
Call Flow
Number Expansion
POTS-to-POTS Call Routing Considerations
Assigning COR Lists with Cisco CallManager Express
SRST Features
Competency-Based Human Resource Management
An Overview of Competency-Based HR Management Practices
A Need for Implementing Competency-Based HR Management
Competency-Based Employee Rewards
Appendix B Further Suggestions on Employee Development
Appendix D Employee Development and Succession Management
101 Microsoft Visual Basic .NET Applications
Data Access
Working with the .NET Framework
COM Interop/PInvoke
Visual Studio .NET
Securing Applications
Sap Bw: a Step By Step Guide for Bw 2.0
Sales Analysis A Business Scenario
Summary
Create an InfoPackage to Load Transaction Data
Creating a Query Using BEx Analyzer
Summary
Cultural Imperative: Global Trends in the 21st Century
The China Phenomenon
Empires Past, Present, and Future
Conclusion
Appendix A Cultural Categorization Characteristics
Appendix B Leadership Test
flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net
Privacy policy
This website uses cookies. Click
here
to find out more.
Accept cookies