1.1 What Should You Know Already?
1.2 What About All Those Footnotes?
1.3 What's with the Exercises?
1.4 What if I'm a Perl Course Instructor?
Chapter 2. Building Larger Programs
2.1 The Cure for the Common Code
2.6 The Problem of Namespace Collisions
2.7 Packages as Namespace Separators
2.8 Scope of a Package Directive
Chapter 3. Introduction to References
3.1 Performing the Same Task on Many Arrays
3.2 Taking a Reference to an Array
3.3 Dereferencing the Array Reference
3.7 Simplifying Nested Element References with Arrows
Chapter 4. References and Scoping
4.1 More than One Reference to Data
4.2 What if That Was the Name?
4.3 Reference Counting and Nested Data Structures
4.4 When Reference Counting Goes Bad
4.5 Creating an Anonymous Array Directly
4.6 Creating an Anonymous Hash
4.8 Autovivification and Hashes
Chapter 5. Manipulating Complex Data Structures
5.1 Using the Debugger to View Complex Data
5.3 Storing Complex Data with Storable
5.4 The map and grep Operators
5.6 Applying a Bit of Indirection
5.7 Selecting and Altering Complex Data
Chapter 6. Subroutine References
6.1 Referencing a Named Subroutine
6.5 Returning a Subroutine from a Subroutine
6.6 Closure Variables as Inputs
6.7 Closure Variables as Static Local Variables
Chapter 7. Practical Reference Tricks
7.6 Building Recursively Defined Data
7.7 Displaying Recursively Defined Data
Chapter 8. Introduction to Objects
8.1 If We Could Talk to the Animals...
8.2 Introducing the Method Invocation Arrow
8.3 The Extra Parameter of Method Invocation
8.3 The Extra Parameter of Method Invocation
8.4 Calling a Second Method to Simplify Things
8.7 Starting the Search from a Different Place
8.8 The SUPER Way of Doing Things
9.1 A Horse Is a Horse, of Course of Courseor Is It?
9.2 Invoking an Instance Method
9.3 Accessing the Instance Data
9.5 Inheriting the Constructor
9.6 Making a Method Work with Either Classes or Instances
9.7 Adding Parameters to a Method
9.7 Adding Parameters to a Method
9.8 More Interesting Instances
9.9 A Horse of a Different Color
9.10 Getting Your Deposit Back
9.11 Don't Look Inside the Box
9.12 Faster Getters and Setters
9.13 Getters That Double as Setters
9.14 Restricting a Method to Class-Only or Instance-Only
Chapter 10. Object Destruction
10.1 Nested Object Destruction
10.4 Additional Instance Variables in Subclasses
Chapter 11. Some Advanced Object Topics
11.2 Testing Your Objects for Good Behavior
11.3 AUTOLOAD as a Last Resort
11.4 Using AUTOLOAD for Accessors
11.5 Creating Getters and Setters More Easily
11.7 References to Filehandles
12.5 The Differences Between OO and Non-OO Modules
12.7 Setting the Path at the Right Time
12.10 Exporting in a Primarily OO Module
Chapter 13. Writing a Distribution
13.3 The Prototype Module Itself
13.5 Controlling the Distribution with Makefile.PL
13.6 Alternate Installation Locations (PREFIX=...)
13.10 Using the Alternate Library Location
14.1 What the Test Harness Does
14.5 More Complex Tests (Multiple Test Scripts)
14.6 Testing Things That Write to STDOUT and STDERR
Chapter 15. Contributing to CPAN
15.1 The Comprehensive Perl Archive Network
15.3 Preparing Your Distribution
15.4 Uploading Your Distribution
15.6 Testing on Multiple Platforms
15.7 Consider Writing an Article or Giving a Talk
Appendix A. Answers to Exercises