Table of Contents:
Preface.
Perl or perl? Obtaining Perl. Historical Perl.
Who This Book Is For. Typographical Conventions. For Further Reference. Perl
Versions. Perl 6. Acknowledgments.
1. Introduction (First Response).
1. Introduction (First Response).
First Things First. Reasons for Inheritance.
What Next? Observe the Program in Its Natural Habitat. Get Personal. Strictness.
Warnings.
2. Surveying the Scene.
2. Surveying the Scene.
Versions. Part or Whole? Find the Dependencies.
3. Test Now, Test Forever (Diagnosis).
3. Test Now, Test Forever (Diagnosis).
Testing Your Patience. Extreme Testing. An
Example Using Test: Modules. Testing Legacy Code. A Final Encouragement.
4. Rewriting (Transplants).
4. Rewriting (Transplants).
Strategizing. Why Are You Doing This? Style.
Comments. Restyling. Variable Renaming. Editing. Line Editing. Antipatterns.
Evolution.
5. The Disciplined Perl Program.
Package Variables vs Lexical Variables. Warnings
and Strictness. use strict in Detail. use warnings in Detail. Selective
Disabling. Caveat Programmer. Perl Poetry.
6. Restructuring (The Operating Table).
6. Restructuring (The Operating Table).
Keep It Brief. Cargo Cult Perl. Escaping the
Global Variable Trap. Debugging Strategies.
7. Upgrading (Plastic Surgery).
Strategies. Perl 4. Perl 5.000. Perl 5.001. Perl
5.002. Perl 5.003. Perl 5.004. Perl 5.005. Perl 5.6.0. Perl 5.6.1. Perl 5.8.0.
Perl 5.8.1. Perl 5.8.2. Perl 5.8.3.
8. Using Modules (Genetic Enhancement).
8. Using Modules (Genetic Enhancement).
The Case for CPAN. Using CPAN. Improving Code
with Modules. Custom Perls.
9. Analysis (Forensic Pathology).
9. Analysis (Forensic Pathology).
Static Analysis. Eliminating Superfluous Code.
Finding Inefficient Code. Debugging.
10. Increasing Maintainability (Prophylaxis).
10. Increasing Maintainability (Prophylaxis).
Making It Robust. Advanced Brevity.
Documentation. Custom Warnings. Version Control System Integration.
11. A Case Study.
11. A Case Study.
The Setup. Triage. Desperately Seeking Sanity.
Coming into the 21st Century. Incorporating Modules Effectively, Part 1.
Incorporating Modules Effectively, Part 2. Making It Mature, Part 1. Making It
Mature, Part 2. Making It Mature, Part 3. Advanced Modification.
12. Conclusion (Prognosis).
12. Conclusion (Prognosis).
In Conclusion. Perl People. A Final Thought.
Appendix: Source Code.
Appendix: Source Code.
Tie::Array::Bounded. Benchmark::TimeTick.
smallprofpp.
Bibliography.
Index.
About the Author.
Bibliography.
Index.
About the Author.