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

Index
Intermediate Perl
SPECIAL OFFER: Upgrade this ebook with O’Reilly A Note Regarding Supplemental Files Foreword Preface
Structure of This Book Conventions Used in This Book Using Code Examples Comments and Questions Safari® Enabled Acknowledgments
1. Introduction
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?
2. Intermediate Foundations
2.1. List Operators
2.1.1. List Filtering with grep 2.1.2. Transforming Lists with map
2.2. Trapping Errors with eval 2.3. Dynamic Code with eval 2.4. Exercises
2.4.1. Exercise 1 [15 min] 2.4.2. Exercise 2 [25 min]
3. Using Modules
3.1. The Standard Distribution 3.2. Using Modules 3.3. Functional Interfaces 3.4. Selecting What to Import 3.5. Object-Oriented Interfaces 3.6. A More Typical Object-Oriented Module: Math::BigInt 3.7. The Comprehensive Perl Archive Network 3.8. Installing Modules from CPAN 3.9. Setting the Path at the Right Time
3.9.1. Handling Module Dependencies
3.10. Exercises
3.10.1. Exercise 1 [25 min] 3.10.2. Exercise 2 [35 min]
4. Introduction to References
4.1. Performing the Same Task on Many Arrays 4.2. Taking a Reference to an Array 4.3. Dereferencing the Array Reference 4.4. Getting Our Braces Off 4.5. Modifying the Array 4.6. Nested Data Structures 4.7. Simplifying Nested Element References with Arrows 4.8. References to Hashes 4.9. Exercises
4.9.1. Exercise 1 [5 min] 4.9.2. Exercise 2 [30 min]
5. References and Scoping
5.1. More Than One Reference to Data 5.2. What If That Was the Name? 5.3. Reference Counting and Nested Data Structures 5.4. When Reference Counting Goes Bad 5.5. Creating an Anonymous Array Directly 5.6. Creating an Anonymous Hash 5.7. Autovivification 5.8. Autovivification and Hashes 5.9. Exercises
5.9.1. Exercise 1 [5 min] 5.9.2. Exercise 2 [40 min]
6. Manipulating Complex Data Structures
6.1. Using the Debugger to View Complex Data 6.2. Viewing Complex Data with Data::Dumper 6.3. YAML 6.4. Storing Complex Data with Storable 6.5. Using the map and grep Operators 6.6. Applying a Bit of Indirection 6.7. Selecting and Altering Complex Data 6.8. Exercises
6.8.1. Exercise 1 [20 min] 6.8.2. Exercise 2 [5 min]
7. Subroutine References
7.1. Referencing a Named Subroutine 7.2. Anonymous Subroutines 7.3. Callbacks 7.4. Closures 7.5. Returning a Subroutine from a Subroutine 7.6. Closure Variables as Inputs 7.7. Closure Variables as Static Local Variables 7.8. Exercise
7.8.1. Exercise [50 min]
8. Filehandle References
8.1. The Old Way 8.2. The Improved Way 8.3. The Even Better Way 8.4. IO::Handle
8.4.1. IO::File 8.4.2. Anonymous IO::File Objects 8.4.3. IO::Scalar 8.4.4. IO::Tee
8.5. Directory Handle References
8.5.1. IO::Dir
8.6. Exercises
8.6.1. Exercise 1 [20 min] 8.6.2. Exercise 2 [30 min] 8.6.3. Exercise 3 [15 min]
9. Practical Reference Tricks
9.1. Review of Sorting 9.2. Sorting with Indices 9.3. Sorting Efficiently 9.4. The Schwartzian Transform 9.5. Multi-Level Sort with the Schwartzian Transform 9.6. Recursively Defined Data 9.7. Building Recursively Defined Data 9.8. Displaying Recursively Defined Data 9.9. Exercises
9.9.1. Exercise 1 [15 min] 9.9.2. Exercise 2 [15 min] 9.9.3. Exercise 3 [10 min] 9.9.4. Exercise 4 [20 min]
10. Building Larger Programs
10.1. The Cure for the Common Code 10.2. Inserting Code with eval 10.3. Using do 10.4. Using require 10.5. require and @INC
10.5.1. Extending @INC 10.5.2. Extending @INC with PERL5LIB 10.5.3. Extending @INC with -I
10.6. The Problem of Namespace Collisions 10.7. Packages as Namespace Separators 10.8. Scope of a Package Directive 10.9. Packages and Lexicals 10.10. Exercises
10.10.1. Exercise 1 [25 min] 10.10.2. Exercise 2 [15 min]
11. Introduction to Objects
11.1. If We Could Talk to the Animals... 11.2. Introducing the Method Invocation Arrow 11.3. The Extra Parameter of Method Invocation 11.4. Calling a Second Method to Simplify Things 11.5. A Few Notes About @ISA 11.6. Overriding the Methods 11.7. Starting the Search from a Different Place 11.8. The SUPER Way of Doing Things 11.9. What to Do with @_ 11.10. Where We Are So Far... 11.11. Exercises
11.11.1. Exercise 1 [20 min] 11.11.2. Exercise 2 [40 min]
12. Objects with Data
12.1. A Horse Is a Horse, of Course of Course—or Is It? 12.2. Invoking an Instance Method 12.3. Accessing the Instance Data 12.4. How to Build a Horse 12.5. Inheriting the Constructor 12.6. Making a Method Work with Either Classes or Instances 12.7. Adding Parameters to a Method 12.8. More Interesting Instances 12.9. A Horse of a Different Color 12.10. Getting Our Deposit Back 12.11. Don't Look Inside the Box 12.12. Faster Getters and Setters 12.13. Getters That Double as Setters 12.14. Restricting a Method to Class-Only or Instance-Only 12.15. Exercise
12.15.1. Exercise [45 min]
13. Object Destruction
13.1. Cleaning Up After Yourself 13.2. Nested Object Destruction 13.3. Beating a Dead Horse 13.4. Indirect Object Notation 13.5. Additional Instance Variables in Subclasses 13.6. Using Class Variables 13.7. Weakening the Argument 13.8. Exercise
13.8.1. Exercise [45 min]
14. Some Advanced Object Topics
14.1. UNIVERSAL Methods 14.2. Testing Our Objects for Good Behavior 14.3. AUTOLOAD as a Last Resort 14.4. Using AUTOLOAD for Accessors 14.5. Creating Getters and Setters More Easily 14.6. Multiple Inheritance 14.7. Exercises
14.7.1. Exercise 1 [20 min] 14.7.2. Exercise 2 [40 min]
15. Exporter
15.1. What use Is Doing 15.2. Importing with Exporter 15.3. @EXPORT and @EXPORT_OK 15.4. %EXPORT_TAGS 15.5. Exporting in a Primarily OO Module 15.6. Custom Import Routines 15.7. Exercises
15.7.1. Exercise 1 [15 min] 15.7.2. Exercise 2 [15 min]
16. Writing a Distribution
16.1. There's More Than One Way To Do It 16.2. Using h2xs
16.2.1. MANIFEST 16.2.2. README 16.2.3. Changes 16.2.4. META.yml 16.2.5. The Prototype Module Itself
16.3. Embedded Documentation 16.4. Controlling the Distribution with Makefile.PL 16.5. Alternate Installation Locations (PREFIX=...) 16.6. Trivial make test 16.7. Trivial make install 16.8. Trivial make dist 16.9. Using the Alternate Library Location 16.10. Exercise
16.10.1. Exercise [30 min]
17. Essential Testing
17.1. More Tests Mean Better Code 17.2. A Simple Test Script 17.3. The Art of Testing 17.4. The Test Harness 17.5. Writing Tests with Test::More 17.6. Testing Object-Oriented Features 17.7. A Testing To-Do List 17.8. Skipping Tests 17.9. More Complex Tests (Multiple Test Scripts) 17.10. Exercise
17.10.1. Exercise [60 min]
18. Advanced Testing
18.1. Testing Large Strings 18.2. Testing Files 18.3. Testing STDOUT or STDERR 18.4. Using Mock Objects 18.5. Testing POD 18.6. Coverage Testing 18.7. Writing Your Own Test::* Modules 18.8. Exercises
18.8.1. Exercise 1 [20 min] 18.8.2. Exercise 2 [20 min]
19. Contributing to CPAN
19.1. The Comprehensive Perl Archive Network 19.2. Getting Prepared 19.3. Preparing Your Distribution 19.4. Uploading Your Distribution 19.5. Announcing the Module 19.6. Testing on Multiple Platforms 19.7. Consider Writing an Article or Giving a Talk 19.8. Exercise
19.8.1. Exercise [Infinite min]
A. Answers to Exercises
A.1. Answers for Chapter 2
A.1.1. Exercise 1 A.1.2. Exercise 2
A.2. Answers for Chapter 3
A.2.1. Exercise 1 A.2.2. Exercise 2
A.3. Answers for Chapter 4
A.3.1. Exercise 1 A.3.2. Exercise 2
A.4. Answers for Chapter 5
A.4.1. Exercise 1 A.4.2. Exercise 2
A.5. Answers for Chapter 6
A.5.1. Exercise 1 A.5.2. Exercise 2
A.6. Answer for Chapter 7
A.6.1. Exercise
A.7. Answers for Chapter 8
A.7.1. Exercise 1 A.7.2. Exercise 2 A.7.3. Exercise 3
A.8. Answers for Chapter 9
A.8.1. Exercise 1 A.8.2. Exercise 2 A.8.3. Exercise 3 A.8.4. Exercise 4
A.9. Answers for Chapter 10
A.9.1. Exercise 1 A.9.2. Exercise 2
A.10. Answers for Chapter 11
A.10.1. Exercise 1 A.10.2. Exercise 2
A.11. Answer for Chapter 12
A.11.1. Exercise
A.12. Answer for Chapter 13
A.12.1. Exercise
A.13. Answers for Chapter 14
A.13.1. Exercise 1 A.13.2. Exercise 2
A.14. Answers for Chapter 15
A.14.1. Exercise 1 A.14.2. Exercise 2
A.15. Answer for Chapter 16
A.15.1. Exercise
A.16. Answer for Chapter 17
A.16.1. Exercise
A.17. Answers for Chapter 18
A.17.1. Exercise 1 A.17.2. Exercise 2
A.18. Answer for Chapter 19
A.18.1. Exercise
Index About the Authors Colophon SPECIAL OFFER: Upgrade this ebook with O’Reilly
  • ← 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