| |
| |
Preface | |
| |
| |
| |
Data References and Anonymous Storage | |
| |
| |
Referring to Existing Variables | |
| |
| |
Using References | |
| |
| |
Nested Data Structures | |
| |
| |
Querying a Reference | |
| |
| |
Symbolic References | |
| |
| |
A View of the Internals | |
| |
| |
References in Other Languages | |
| |
| |
Resources | |
| |
| |
| |
Implementing Complex Data Structures | |
| |
| |
User-Defined Structures | |
| |
| |
Example: Matrices | |
| |
| |
Professors, Students, Courses | |
| |
| |
Pass the Envelope | |
| |
| |
Pretty-Printing | |
| |
| |
Resources | |
| |
| |
| |
Typeglobs and Symbol Tables | |
| |
| |
Perl Variables, Symbol Table, and Scoping | |
| |
| |
TypeglobsTypeglobs and References | |
| |
| |
Filehandles, Directory Handles, and Formats | |
| |
| |
| |
Subroutine References and Closures | |
| |
| |
Subroutine References | |
| |
| |
Using Subroutine References | |
| |
| |
ClosuresUsing Closures | |
| |
| |
Comparisons to Other Languages | |
| |
| |
Resources | |
| |
| |
| |
EvalThe String Form: Expression Evaluation | |
| |
| |
The Block Form: Exception Handling | |
| |
| |
Watch Your QuotesUsing Eval for Expression Evaluation | |
| |
| |
Using Eval for Efficiency | |
| |
| |
Using Eval for Time-Outs | |
| |
| |
Eval in Other Languages | |
| |
| |
Resources | |
| |
| |
| |
ModulesBasic Package | |
| |
| |
Packages and Files | |
| |
| |
Package Initialization and Destruction | |
| |
| |
PrivacyImporting Symbols | |
| |
| |
Nesting Packages | |
| |
| |
AutoloadingAccessing the Symbol Table | |
| |
| |
Language Comparisons | |
| |
| |
| |
Object-Oriented ProgrammingOO: An Introduction | |
| |
| |
Objects in Perl | |
| |
| |
Universal | |
| |
| |
Recap of Conventions | |
| |
| |
Comparison with Other OO Languages | |
| |
| |
Resources | |
| |
| |
| |
Object Orientation: The Next Few Steps | |
| |
| |
Efficient Attribute Storage | |
| |
| |
DelegationOn Inheritance | |
| |
| |
Resources | |
| |
| |
| |
TieTying ScalarsTying Arrays | |
| |
| |
Tying Hashes | |
| |
| |
Tying Filehandles | |
| |
| |
Example: Monitoring Variables | |
| |
| |
Comparisons with Other Languages | |
| |
| |
| |
PersistencePersistence Issues | |
| |
| |
Streamed Data | |
| |
| |
Record-Oriented Approach | |
| |
| |
Relational Databases | |
| |
| |
Resources | |
| |
| |
| |
Implementing Object Persistence | |
| |
| |
Adaptor: An Introduction | |
| |
| |
Design Notes | |
| |
| |
Implementation | |
| |
| |
Resources | |
| |
| |
| |
Networking with Sockets | |
| |
| |
Networking PrimerSocket API and IO: Socket | |
| |
| |
Handling Multiple Clients | |
| |
| |
Real-World Servers | |
| |
| |
IO Objects and Filehandles | |
| |
| |
Prebuilt Client Modules | |
| |
| |
Resources | |
| |
| |
| |
Networking: Implementing RPCMsg: Messaging Toolkit | |
| |
| |
Remote Procedure Calls (RPC)Resources | |
| |
| |
| |
User Interfaces with Tk | |
| |
| |
Introduction to GUIs, Tk, and Perl/Tk | |
| |
| |
Starting with Perl/TkWidget Tour | |
| |
| |
Geometry Management | |
| |
| |
TimersEvent Bindings | |
| |
| |
Event Loops | |
| |
| |
Resources | |
| |
| |
| |
GUI Example: Tetris | |
| |
| |
Introduction to Tetris | |
| |
| |
DesignImplementation | |
| |
| |
| |
GUI Example: Man Page Viewerman and perlman | |
| |
| |
Implementation | |
| |
| |
Resources | |
| |
| |
| |
Template-Driven Code GenerationOn Code Generation | |
| |
| |
Jeeves Example | |
| |
| |
Jeeves Overview | |
| |
| |
Jeeves Implementation | |
| |
| |
Sample Specification Parser | |
| |
| |
Resources | |
| |
| |
| |
Extending Perl: A First Course | |
| |
| |
Writing an Extension: Overview | |
| |
| |
Example: Fractals with PerlSWIG Features | |
| |
| |
XS Features | |
| |
| |
Degrees of FreedomA Detour into Fractals | |
| |
| |
Resources | |
| |
| |
| |
Embedding Perl: The Easy Way | |
| |
| |
Why Embed?Embedding Overview | |
| |
| |
Examples | |
| |
| |
Adding Extensions | |
| |
| |
Resources | |
| |
| |
| |
Perl Internals | |
| |
| |
Reading the Source | |
| |
| |
ArchitecturePerl Value Types | |
| |
| |
Stacks and Messaging Protocol | |
| |
| |
Meaty Extensions | |
| |
| |
Easy Embedding APIA Peek into the Future Resources | |
| |
| |
| |
Tk Widget Reference | |
| |
| |
| |
Syntax Summary | |
| |
| |
Index | |