A
- AnyDBM_File, Further Reading
- Apache::Perldoc, Pod in Your Web Server
- Apache::Pod, Pod in Your Web Server
- App::Smbxfer, Further Reading
- autodie, autodie, autodie, autodie, autodie, Further Reading
- AutoLoader, AutoSplit, AutoSplit
- AutoSplit, AutoSplit, AutoSplit, AutoSplit
B
- B::Deobfuscate, Unparsing Code with B::Deparse
- B::Deparse, Unparsing Code with B::Deparse, Unparsing Code with B::Deparse, Unparsing Code with B::Deparse, Unparsing Code with B::Deparse, Unparsing Code with B::Deparse
- base, Subclassing
- Benchmark, Benchmarking Time, Comparing Code, Comparing Code, Comparing Code, Don’t Turn Off Your Thinking Cap, Don’t Turn Off Your Thinking Cap, Don’t Turn Off Your Thinking Cap, Don’t Turn Off Your Thinking Cap, Don’t Turn Off Your Thinking Cap, Isolating the Environment, Isolating the Environment, Isolating the Environment, Handling Outliers, Handling Outliers, The perlbench Tool, Further Reading, Further Reading
- Benchmark::Forking, Isolating the Environment
- BerkeleyDB, Further Reading
- bignum, Finding the Culprit
- BioPerl, Bit Vectors
- Bit::Vector, Further Reading
- Business::ISBN, Data::Dumper, Storable
C
- Carp, The Best Debugger in the World, Replacing Module Parts, Reporting the Culprit, Reporting the Culprit, Reporting the Culprit, Reporting the Culprit, Reporting the Culprit
- Carp::Always, Reporting the Culprit
- CGI, Symbolic References, Filehandle Arguments in Older Code, Pod Coverage, Pod Coverage
- CGI.pm, Storable’s Security Problem
- Clone::Any, Freezing Data, Freezing Data
- Code::Splice, Further Reading
- Config, perl’s Config, perl’s Config
- Config::ApacheFile, Other Configuration Formats
- Config::IniFiles, Config::IniFiles
- Config::JSON, Other Configuration Formats
- Config::Scoped, Config::Scoped, Further Reading
- ConfigReader::Simple, ConfigReader::Simple
- Const::Fast, Things Not to Do
- constant, Things Not to Do
- CPAN, Adding to the Script
- CPAN::Reporter::PrereqCheck, Further Reading
- CPANPLUS, Adding to the Script
- criticism, Creating My Own Perl::Critic Policy
D
- Data::Constraint, Iterating Through Subroutine Lists, Iterating Through Subroutine Lists
- Data::Dump, Similar Modules
- Data::Dump::Streamer, Similar Modules, Similar Modules
- Data::Dumper, The Best Debugger in the World, The Best Debugger in the World, Subroutine Arguments, Data::Dumper, Data::Dumper, Data::Dumper, Data::Dumper, Data::Dumper, Similar Modules, Similar Modules, Similar Modules, Similar Modules, Similar Modules, Sereal, Sereal, Sereal, YAML, YAML, My Method
- Data::MessagePack, MessagePack, MessagePack
- DBD::CSV, Profiling DBI
- DBI, Defensive Database Programming with DBI, Defensive Database Programming with DBI, Defensive Database Programming with DBI, Defensive Database Programming with DBI, Defensive Database Programming with DBI, Defensive Database Programming with DBI, Further Reading, Further Reading, The General Approach, The General Approach, Profiling DBI, Profiling DBI, Other DBI::Profile Reports, Other DBI::Profile Reports, Other DBI::Profile Reports, Other DBI::Profile Reports, Other DBI::Profile Reports, Making It Even Easier, Polymorphic Return Values, Further Reading, Further Reading, Further Reading
- DBI::Profile, Acknowledgments, Profiling DBI, Profiling DBI, Other DBI::Profile Reports, Other DBI::Profile Reports, Making It Even Easier
- DBI::ProfileDumper, Making It Even Easier
- DBM::Deep, DBM::Deep, DBM::Deep, DBM::Deep, DBM::Deep, DBM::Deep
- Devel::, Alternative Debuggers, Devel::Cover
- Devel::Cover, Profiling Test Suites, Devel::Cover, Devel::Cover, Devel::Cover, Devel::Cover
- Devel::Declare, TryCatch
- Devel::DProf, Devel::NYTProf, Devel::NYTProf, Further Reading
- Devel::ebug, Devel::ebug, Devel::ebug, Devel::ebug
- Devel::ebug::Console, Devel::ebug
- Devel::hdb, Devel::hdb
- Devel::MyDebugger, Using a Different Debugger with -D, Using a Different Debugger with -D
- Devel::NYTProf, Devel::NYTProf, Devel::NYTProf, Devel::NYTProf, Further Reading, Further Reading
- Devel::Peek, Memory Use, Bit Vectors, The vec Function
- Devel::ptkdb, Devel::ptkdb
- Devel::Size, Memory Use, Memory Use, Memory Use, Memory Use, Memory Use, Bit Vectors
- Devel::SmallProf, Finding the Culprit, Finding the Culprit, Finding the Culprit, Writing My Own Profiler, Devel::LineCounter, My Method
- Devel::Trace, Using a Different Debugger with -D
- diagnostics, Further Reading, My Method
- die, Reporting the Culprit
- Dumbbench, Handling Outliers, Handling Outliers, Handling Outliers, Further Reading, Further Reading
E
- Email::Send::SMTP, Replacing Module Parts
- Email::Simple, Replacing Module Parts
- Email::Stuff, Replacing Module Parts, Replacing Module Parts
- Errno, Operating System Errors
- Error, Further Reading
- Exporter, Aliasing, Aliasing, Summary, Creating and Replacing Named Subroutines, Creating and Replacing Named Subroutines
- ExtUtils::MakeMaker, Devel::Cover, AutoSplit, An ExtUtils::MakeMaker Example, An ExtUtils::MakeMaker Example, An ExtUtils::MakeMaker Example, An ExtUtils::MakeMaker Example, An ExtUtils::MakeMaker Example, Creating a Program Distribution, Creating a Program Distribution
- ExtUtils::MM_Any, An ExtUtils::MakeMaker Example
- ExtUtils::MM_Unix, An ExtUtils::MakeMaker Example
- ExtUtils::MM_Win32, An ExtUtils::MakeMaker Example
F
- Fatal, autodie, autodie
- Fcntl, Binary OR, |, Binary OR, |, Further Reading
- feature, Self-referencing Anonymous Subroutines
- File::Find, Naming Anonymous Subroutines, Naming Anonymous Subroutines
- File::Find::Closures, Naming Anonymous Subroutines, Naming Anonymous Subroutines
- File::Spec, Tainted Data, Side Effects of Taint Checking, Side Effects of Taint Checking
G
- Getopt::Attribute, Command-line Switches
- Getopt::Declare, Command-line Switches
- Getopt::Easy, Command-line Switches, Command-line Switches, Command-line Switches
- Getopt::Long, Command-line Switches, Command-line Switches, Command-line Switches, Getopt Modules, Getopt::Long
- Getopt::Lucid, Command-line Switches
- Getopt::Mixed, Command-line Switches, Command-line Switches, Command-line Switches, Command-line Switches
- Getopt::Std, Command-line Switches, Command-line Switches, Command-line Switches, Command-line Switches, Getopt::Std
- Getopts::Mixed, Command-line Switches
- Git::CPAN::Patch, Sending Patches to the Author
H
- Hash::AsObject, Hashes as Objects
- Hook::Lex::Wrap, Further Reading, Further Reading
- Hook::LexWrap, Wrapping Subroutines, Wrapping Subroutines, Wrapping Subroutines, Wrapping Subroutines, Wrapping Subroutines, Wrapping Subroutines, Further Reading, Wrapping Subroutines, Wrapping Subroutines, Wrapping Subroutines
- HTML::Parser, Pod Coverage, Pod Coverage
- HTTP::Date, Readable Regexes, /x and (?#…)
- HTTP::Size, Devel::Cover
L
- List::Util, Subroutines as Data, Subroutines as Arguments, Subroutines as Arguments
- Local::DocBook, Subclassing Pod::Simple
- Local::Error, Propagating Objects with die, Propagating Objects with die, Propagating Objects with die
- locale, Untainting Data
- Log::Dispatch, Recording Errors and Other Information, Recording Errors and Other Information
- Log::Log4perl, Recording Errors and Other Information, Recording Errors and Other Information, Log4perl, Log4perl, Log4perl, Log4perl, Configuring Log4perl, Configuring Log4perl, Configuring Log4perl, Configuring Log4perl, Adding My Own Information, Persistent Configuration, Persistent Configuration, Logging Categories, Categories are hierarchical, Categories are hierarchical, Other Log::Log4perl Features, Other Log::Log4perl Features, Other Log::Log4perl Features, Other Log::Log4perl Features, Summary, Summary
- Log::Log4perl::Appender::DBI, Other Log::Log4perl Features
- Log::Log4perl::Appender::File, Configuring Log4perl, Configuring Log4perl
- Log::Log4perl::Layout::PatternLayout, Configuring Log4perl
M
- Mac::Carbon, Errors Specific to the Operating System
- Mac::Errors, Errors Specific to the Operating System
- Mac::Glue, Errors Specific to the Operating System
- Mac::PropertyList, Other Configuration Formats
- Memoize, Finding the Culprit
- ModPerl::PerlRun, mod_perl
- ModPerl::Registry, mod_perl
- Module::Build, Devel::Cover
- Module::NotThere, Pod Coverage
- Module::Release, Distributing the Programs
- Modulino::Demo, Modules as Tests
- Monkey::Patch, Further Reading
N
- Net::FTP, Benchmarking Time
- Net::MAC::Vendor, Further Reading
- Net::SMTP, Safely Changing Modules, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts, Replacing Module Parts
- Net::SMTP::SSL, Replacing Module Parts
- Netscape::Bookmarks, Subroutines as Arguments
- Netscape::Bookmarks::Category, Subroutines as Arguments
P
- Package::Stash, Typeglobs, The Easy Way, The Easy Way
- Package:Stash, Further Reading
- Perl::Critic, Structure of This Book, Acknowledgments, Perl::Critic, Perl::Critic, Perl::Critic, Perl::Critic, Perl::Critic, Creating My Own Perl::Critic Policy, Creating My Own Perl::Critic Policy, Creating My Own Perl::Critic Policy, Creating My Own Perl::Critic Policy, Further Reading
- Perl::Critic::Lax, Perl::Critic
- Perl::Critic::Policy, Creating My Own Perl::Critic Policy
- Perl::Critic::Policy::Lax::ProhibitStringyEval::ExceptForRequire, Perl::Critic
- Perl::Tidy, Structure of This Book, Further Reading
- perlbench, The perlbench Tool
- Pod::Checker, Checking Pod, Checking Pod, Pod Coverage, Hiding and Ignoring Functions, Hiding and Ignoring Functions, Hiding and Ignoring Functions
- Pod::Coverage, Pod Coverage, Pod Coverage, Hiding and Ignoring Functions
- Pod::Parser, Translating Pod, Translating Pod, Subclassing Pod::Simple, Checking Pod
- Pod::Perldoc, Pod Translators, Pod Translators, Pod::Perldoc::ToToc, Pod::Perldoc::ToToc, Pod::Perldoc::ToToc
- Pod::Perldoc::BaseTo, Pod::Perldoc::ToToc, Pod::Perldoc::ToToc
- Pod::Perldoc::ToRtf, Pod Translators
- Pod::Perldoc::ToText, Pod Translators
- Pod::Perldoc::ToToc, Pod::Perldoc::ToToc, Pod::Simple, Hiding and Ignoring Functions
- Pod::PseudoPod, Other Examples, Subclassing Pod::Simple
- Pod::Simple, Other Examples, Pod::Perldoc::ToToc, Pod::Perldoc::ToToc, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Pod::Simple, Subclassing Pod::Simple, Pod in Your Web Server, Checking Pod, Checking Pod, Hiding and Ignoring Functions, Further Reading, Further Reading
- Pod::Simple::Subclassing, Pod::Simple, Further Reading
- Pod::TOC, Pod::Perldoc::ToToc, Pod::Simple, Pod::Simple
- Pod::Webserver, Pod in Your Web Server, Further Reading
- POSIX, Bitwise AND, &
- PPI, Perl::Critic
- ptkdb, My Method
S
- Safe, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Compartments, Safe Limitations, Safe Limitations, Further Reading
- Scalar::Util, Tainted Data, Subclassing
- Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, Further Reading
- Sereal::Decoder, Sereal
- Sereal::Encoder, Sereal, Sereal
- Some::Module, Creating and Replacing Named Subroutines
- Storable, Storable, Storable, Storable, Storable, Storable, Storable, Storable, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Storable’s Security Problem, Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, Sereal, JSON, YAML, Further Reading
- strict, Before You Waste Too Much Time, Before You Waste Too Much Time, Before You Waste Too Much Time, Aliasing, Aliasing, Symbolic References, Symbolic References, Symbolic References, The -s Switch, Data::Dumper, Data::Dumper, My Method, My Method, My Method, My Method
- Surveyor::App, Comparing Code, Comparing Code
- Surveyor::Benchmark::GetDirectoryListing, Comparing Code
T
- Taint::Util, Taint::Util
- Template, Reporting Module Errors, Reporting Module Errors, Reporting Module Errors, Separation of Concerns, Separation of Concerns, Separation of Concerns, Adding to the Script, Adding to the Script, Adding to the Script, Adding to the Script
- Template::Base, Separation of Concerns
- Template::Exception, Reporting Module Errors
- Test::Harness, Devel::Cover, Devel::Cover
- Test::Inline, Modules as Tests
- Test::Manifest, An ExtUtils::MakeMaker Example, An ExtUtils::MakeMaker Example
- Test::More, Modules as Tests, Modules as Tests, My Method
- Test::Output, Testing the Program, Adding to the Script
- Test::Perl::Critic, Creating My Own Perl::Critic Policy
- Test::Pod, Checking Pod, Pod Coverage, Further Reading
- Test::Pod::Coverage, Pod Coverage, Pod Coverage, Hiding and Ignoring Functions
- Test::Taint, Taint::Util
- Text::Template::Simple, Errors Specific to the Operating System
- Tie::, Hiding and Ignoring Functions
- Tie::Array, Behind the Curtain, Arrays
- Tie::Array::PackedC, Bit Vectors
- Tie::BoundedInteger, Self-Destructing Values
- Tie::Cycle, At the User Level, At the User Level, Behind the Curtain, Tie::Cycle, Tie::Cycle, Tie::Cycle, Tie::Cycle, Tie::Cycle, Bounded Integers, Reinventing Arrays
- Tie::Cycle::Sinewave, Further Reading
- Tie::File::Timestamp, Filehandles
- Tie::Handle, Behind the Curtain
- Tie::Hash, Behind the Curtain
- Tie::Scalar, Behind the Curtain
- Tie::Timely, Self-Destructing Values
- Try::Tiny, Try::Tiny, Try::Tiny, TryCatch, Further Reading
- TryCatch, TryCatch