Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
*Preface
Running Modern Perl Perl 5 and Perl 6 Credits
The Perl Philosophy
Perldoc Expressivity Context
Void, Scalar, and List Context Numeric, String, and Boolean Context
Implicit Ideas
The Default Scalar Variable The Default Array Variables
Perl and Its Community
Community Sites Development Sites Events IRC The CPAN
CPAN Management Tools
The Perl Language
Names
Variable Names and Sigils Package-Qualified Names
Variables
Variable Scopes Variable Sigils Anonymous Variables Variables, Types, and Coercion
Values
Strings Unicode and Strings
Character Encodings Unicode in Your Filehandles Unicode in Your Data Unicode in Your Programs Implicit Conversion
Numbers Undef The Empty List Lists
Control Flow
Branching Directives The Ternary Conditional Operator
Short Circuiting
Context for Conditional Directives Looping Directives Iteration and Aliasing Iteration and Scoping The C-Style For Loop While and Until Loops within Loops Loop Control Continue Given/When Tailcalls
Scalars
Scalars and Types
Arrays
Array Elements Array Assignment Array Slices Array Operations Arrays and Context Array Interpolation
Hashes
Declaring Hashes Hash Indexing Hash Key Existence Accessing Hash Keys and Values Hash Slices The Empty Hash Hash Idioms Locking Hashes
Coercion
Boolean Coercion String Coercion Numeric Coercion Reference Coercion Cached Coercions Dualvars
Packages
Packages and Namespaces
References
Scalar References Array References Hash References Function References Filehandle References Reference Counts References and Functions
Nested Data Structures
Declaring Nested Data Structures Accessing Nested Data Structures Autovivification Debugging Nested Data Structures Circular References Alternatives to Nested Data Structures
Operators
Operator Characteristics
Precedence Associativity Arity Fixity
Operator Types
Numeric Operators String Operators Logical Operators Bitwise Operators Special Operators
Functions
Declaring Functions Invoking Functions Function Parameters
Flattening Slurping Aliasing
Functions and Namespaces
Importing
Reporting Errors
Validating Arguments
Advanced Functions
Context Awareness Recursion Lexicals Tail Calls
Pitfalls and Misfeatures Scope
Lexical Scope
Our Scope
Dynamic Scope State Scope
Anonymous Functions
Declaring Anonymous Functions Anonymous Function Names Implicit Anonymous Functions
Closures
Creating Closures Uses of Closures Closures and Partial Application
State versus Closures State versus Pseudo-State Attributes
Using Attributes Drawbacks of Attributes
AUTOLOAD
Basic Features of AUTOLOAD Redispatching Methods in AUTOLOAD() Generating Code in AUTOLOAD() Drawbacks of AUTOLOAD
Regular Expressions and Matching
Literals The qr// Operator and Regex Combinations Quantifiers Greediness Regex Anchors Metacharacters Character Classes Capturing
Named Captures Numbered Captures
Grouping and Alternation Other Escape Sequences Assertions Regex Modifiers Smart Matching
Objects
Moose
Classes Methods Attributes Encapsulation
Polymorphism
Roles
Roles and DOES()
Inheritance
Inheritance and Attributes Inheritance and Methods Inheritance and isa()
Moose and Perl 5 OO
Blessed References
Method Lookup and Inheritance AUTOLOAD Method Overriding and SUPER Strategies for Coping with Blessed References
Reflection
Checking that a Package Exists Checking that a Class Exists Checking that a Module Has Loaded Checking the Version of a Module Checking that a Function Exists Checking that a Method Exists Rooting Around in Symbol Tables
Advanced OO Perl
Favor Composition Over Inheritance Single Responsibility Principle Don't Repeat Yourself Liskov Substitution Principle Subtypes and Coercions Immutability
Style and Efficacy
Writing Maintainable Perl Writing Idiomatic Perl Writing Effective Perl Exceptions
Throwing Exceptions Catching Exceptions Exception Caveats Built-in Exceptions
Pragmas
Pragmas and Scope Using Pragmas Useful Core Pragmas
Managing Real Programs
Testing
Test::More Running Tests Better Comparisons Organizing Tests Other Testing Modules
Handling Warnings
Producing Warnings Enabling and Disabling Warnings Disabling Warning Categories Making Warnings Fatal Catching Warnings Registering Your Own Warnings
Files
Input and Output
Reading from Files Writing to Files Closing Files Special File Handling Variables
Directories and Paths
Manipulating Paths
File Manipulation
Modules
Using and Importing Exporting Organizing Code with Modules
Distributions
Attributes of a Distribution CPAN Tools for Managing Distributions Designing Distributions
The UNIVERSAL Package
The isa() Method The can() Method The VERSION() Method The DOES() Method Extending UNIVERSAL
Code Generation
eval Parametric Closures Compile-time Manipulation Class::MOP
Overloading
Overloading Common Operations Overload and Inheritance Uses of Overloading
Taint
Using Taint Mode Sources of Taint Removing Taint from Data Removing Taint from the Environment Taint Gotchas
Perl Beyond Syntax
Idioms
The Object as <code>$self</code> Named Parameters The Schwartzian Transform Easy File Slurping Controlled Execution Handling Main Postfix Parameter Validation Regex En Passant Unary Coercions
Global Variables
Managing Super Globals English Names Useful Super Globals Alternatives to Super Globals
What to Avoid
Barewords
Good Uses of Barewords Ill-Advised Uses of Barewords
Indirect Objects
Bareword Indirect Invocations Indirect Notation Scalar Limitations Alternatives to Indirect Notation
Prototypes
The Problem with Prototypes Good Uses of Prototypes
Method-Function Equivalence
Caller-side Callee-side
Tie
Tying Variables Implementing Tied Variables When to use Tied Variables
What's Missing
Missing Defaults
The strict Pragma The warnings Pragma IO::Handle The autodie Pragma
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion