
Perl Best Practices
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Table of Contents
- Preface
- Contents of This Book
- Conventions Used in This Book
- Code Examples
- Feedback
- Acknowledgments
- Best Practices
- Three Goals
- Robustness
- Efficiency
- Maintainability
- This Book
- Rehabiting
- Code Layout
- Bracketing
- Keywords
- Subroutines and Variables
- Builtins
- Keys and Indices
- Operators
- Semicolons
- Commas
- Line Lengths
- Indentation
- Tabs
- Blocks
- Chunking
- Elses
- Vertical Alignment
- Breaking Long Lines
- Non-Terminal Expressions
- Breaking by Precedence
- Assignments
- Ternaries
- Lists
- Automated Layout
- Naming Conventions
- Identifiers
- Booleans
- Reference Variables
- Arrays and Hashes
- Underscores
- Capitalization
- Abbreviations
- Ambiguous Abbreviations
- Ambiguous Names
- Utility Subroutines
- Values and Expressions
- String Delimiters
- Empty Strings
- Single-Character Strings
- Escaped Characters
- Constants
- Leading Zeros
- Long Numbers
- Multiline Strings
- Here Documents
- Heredoc Indentation
- Heredoc Terminators
- Heredoc Quoters
- Barewords
- Fat Commas
- Thin Commas
- Low-Precedence Operators
- Lists
- List Membership
- Variables
- Lexical Variables
- Package Variables
- Localization
- Initialization
- Punctuation Variables
- Localizing Punctuation Variables
- Match Variables
- Dollar-Underscore
- Array Indices
- Slicing
- Slice Layout
- Slice Factoring
- Control Structures
- If Blocks
- Postfix Selectors
- Other Postfix Modifiers
- Negative Control Statements
- C-Style Loops
- Unnecessary Subscripting
- Necessary Subscripting
- Iterator Variables
- Non-Lexical Loop Iterators
- List Generation
- List Selections
- List Transformation
- Complex Mappings
- List Processing Side Effects
- Multipart Selections
- Value Switches
- Tabular Ternaries
- do-while Loops
- Linear Coding
- Distributed Control
- Redoing
- Loop Labels
- Documentation
- Types of Documentation
- Boilerplates
- Extended Boilerplates
- Location
- Contiguity
- Position
- Technical Documentation
- Comments
- Algorithmic Documentation
- Elucidating Documentation
- Defensive Documentation
- Indicative Documentation
- Discursive Documentation
- Proofreading
- Built-in Functions
- Sorting
- Reversing Lists
- Reversing Scalars
- Fixed-Width Data
- Separated Data
- Variable-Width Data
- String Evaluations
- Automating Sorts
- Substrings
- Hash Values
- Globbing
- Sleeping
- Mapping and Grepping
- Utilities
- Subroutines
- Call Syntax
- Homonyms
- Argument Lists
- Named Arguments
- Missing Arguments
- Default Argument Values
- Scalar Return Values
- Contextual Return Values
- Multi-Contextual Return Values
- Prototypes
- Implicit Returns
- Returning Failure
- I/O
- Filehandles
- Indirect Filehandles
- Localizing Filehandles
- Opening Cleanly
- Error Checking
- Cleanup
- Input Loops
- Line-Based Input
- Simple Slurping
- Power Slurping
- Standard Input
- Printing to Filehandles
- Simple Prompting
- Interactivity
- Power Prompting
- Progress Indicators
- Automatic Progress Indicators
- Autoflushing
- References
- Dereferencing
- Braced References
- Symbolic References
- Cyclic References
- Regular Expressions
- Extended Formatting
- Line Boundaries
- String Boundaries
- End of String
- Matching Anything
- Lazy Flags
- Brace Delimiters
- Other Delimiters
- Metacharacters
- Named Characters
- Properties
- Whitespace
- Unconstrained Repetitions
- Capturing Parentheses
- Captured Values
- Capture Variables
- Piecewise Matching
- Tabular Regexes
- Constructing Regexes
- Canned Regexes
- Alternations
- Factoring Alternations
- Backtracking
- String Comparisons
- Error Handling
- Exceptions
- Builtin Failures
- Contextual Failure
- Systemic Failure
- Recoverable Failure
- Reporting Failure
- Error Messages
- Documenting Errors
- OO Exceptions
- Volatile Error Messages
- Exception Hierarchies
- Processing Exceptions
- Exception Classes
- Unpacking Exceptions
- Command-Line Processing
- Command-Line Structure
- Command-Line Conventions
- Meta-options
- In-situ Arguments
- Command-Line Processing
- Interface Consistency
- Interapplication Consistency
- Objects
- Using OO
- Criteria
- Pseudohashes
- Restricted Hashes
- Encapsulation
- Constructors
- Cloning
- Destructors
- Methods
- Accessors
- Lvalue Accessors
- Indirect Objects
- Class Interfaces
- Operator Overloading
- Coercions
- Class Hierarchies
- Inheritance
- Objects
- Blessing Objects
- Constructor Arguments
- Base Class Initialization
- Construction and Destruction
- Automating Class Hierarchies
- Attribute Demolition
- Attribute Building
- Coercions
- Cumulative Methods
- Autoloading
- Modules
- Interfaces
- Refactoring
- Version Numbers
- Version Requirements
- Exporting
- Declarative Exporting
- Interface Variables
- Creating Modules
- The Standard Library
- CPAN
- Testing and Debugging
- Test Cases
- Modular Testing
- Test Suites
- Failure
- What to Test
- Debugging and Testing
- Strictures
- Warnings
- Correctness
- Overriding Strictures
- The Debugger
- Manual Debugging
- Semi-Automatic Debugging
- Miscellanea
- Revision Control
- Other Languages
- Configuration Files
- Formats
- Ties
- Cleverness
- Encapsulated Cleverness
- Benchmarking
- Memory
- Caching
- Memoization
- Caching for Optimization
- Profiling
- Enbugging
- Essential Perl Best Practices
- Perl Best Practices
- Chap ter 2, Code Layout
- Chap ter 3, Naming Conventions
- Chap ter 4, Values and Expressions
- Chap ter 5, Variables
- Chap ter 6, Control Structures
- Chap ter 7, Documentation
- Chap ter 8, Built-in Functions
- Chap ter 9, Subroutines
- Chap ter 10, I/O
- Chap ter 11, References
- Chap ter 12, Regular Expressions
- Chap ter 13, Error Handling
- Chap ter 14, Command-Line Processing
- Chap ter 15, Objects
- Chap ter 16, Class Hierarchies
- Chap ter 17, Modules
- Chap ter 18, Testing and Debugging
- Chap ter 19, Miscellanea
- Editor Configurations
- vim
- vile
- Emacs
- BBEdit
- TextWrangler
- Recommended Modules and Utilities
- Recommended Core Modules
- Recommended CPAN Modules
- Utility Subroutines
- Bibliography
- Perl Coding and Development Practices
- Testing and Debugging
- Algorithms and Efficiency
- Coding Style and Common Mistakes
- General Coding and Development Practices
- Coding Standards
- Development Practices
- Text Editors
- Index
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.