Chapter One Intermediate Regular Expressions
1.1 Review: Basic Regular Expressions
1.2 Modifiers
1.3 Getting the Nth occurrence of a match
1.4 Greedy vs. Non-Greedy matches
1.5 Regular Expression variables
1.6 Special characters in regular expressions
1.7 Assertions
1.8 Reading from filehandles using split
1.9 Multiple line matching
1.10 Commenting Regular Expressions
1.11 Alternative Delimiters
1.12 Additional resources
1.13 Lab Exercises
Chapter Two Advanced Regular Expressions
2.1 Make use of the Smartmatch Operator
2.2 Understand Regular Expression precedence
2.3 Understand what is *NOT* a Regular Expression atom
2.4 Using Regular Expressions in List Context
2.5 Match whitespace properly
2.6 Use \G
2.7 Use the \A, \Z and \z assertions
2.8 Avoid capturing
2.9 Avoid the variables $`, $& and $'
2.10 Compile your Regular Expressions before using them
2.11 Benchmark your patterns
2.12 Use Regexp::Common
2.13 Flags you should consider always using
2.14 Avoid escapes
2.15 Use the re Pragma
2.16 Understand backtracking
Chapter Three Advanced Features
3.1 Use my iterator variables with for loops
3.2 Utilize loop labels
3.3 Avoid using for file matching
3.4 Time::HiRes
3.5 Contextual::Return
3.6 Indirect Filehandles
3.7 The three argument technique to the open statement
3.8 Always check the return values of open, close and when printing to a file
3.9 Close filehandles as soon as possible
3.10 Avoid slurping
3.11 Creatively use the do statement
3.12 Use the slurp() function
3.13 Test for interactivity
3.14 Use IO::Prompt
3.15 Understand where to find documentation
3.16 Understand context
3.17 Understand the => operator
3.18 Understand subroutine calls
3.19 Understand and/or versus &/||
3.20 Use Perl::Tidy
3.21 Use Perl::Critic
3.22 Understand Getopt::Std
3.23 Understand Getopt::Long
3.24 Alternative commenting technique
3.25 Passing notes within a Perl program
3.26 Use Smart::Comments
Chapter Four Advanced Formatted Output
4.1 Review: The format statement
4.2 Advanced format statement features
4.3 printf and sprintf
4.4 Using select
4.5 The operator
4.6 Additional Resources
4.7 Lab Exercises
Chapter Five Exploring Useful Built-in Variables
5.1 Perl's built-in variables
5.2 Variables reference chart
5.3 Use English
5.4. Status variables
5.5 Separator variables
5.6 The signal handle variable
5.7 Version of Perl
5.8 Program start time
5.9 Additional Resources
5.10 Lab Exercises
Chapter Six Advanced File Handling
6.1 Review: Basic File Handling
6.2 Displaying the file position
6.3 Moving the file position
6.4 Opening files for reading and writing
6.5 Making "files" within your script
6.6 Locking files
6.7 Flushing output buffers
6.8 Additional Resources
6.9 Lab Exercises
Chapter Seven Pragmas
7.1 Perl pragmas
7.2 Pragma chart
7.3 Review: use strict
7.4 Predeclaring subroutines
7.5 Predeclaring global variables
7.6 Additional Resources
7.7 Lab Exercises
Chapter Eight Exploring Useful Built-in Modules
8.1 Built-in modules
8.2 Module table
8.3 Cwd
8.4 Env
8.5 File
8.6 Math
8.7 Sys
8.8 Text
8.9 Fatal
8.10 Benchmark
8.11 Getopt::Std
8.12 Getopt::Long
8.13 Additional Resources
8.14 Lab Exercises
Chapter Nine Debugging Tools
9.1 Review: The -w switch
9.2 Review: The Perl debugger
9.3 Debugger commands
9.4 Diagnostics
9.5 Carp
9.6 Data::Dumper
9.7 Additional Resources
9.8 Lab Exercises
Chapter Ten Perl/TK Basics
10.1 Working with Windows
10.2 Types of Widgets
10.3 Geometry Managers
10.4 Creating Widgets
10.5 The OO nature of the Tk module
10.6 Additional resources
10.7 Lab Exercises
Chapter Eleven Perl TK Widgets
11.1 Frames
11.2 Labels
11.3 Buttons
11.4 Checkbuttons
11.5 Radiobuttons
11.6 Listboxes
11.7 Scrollbars
11.8 Scales
11.9 Entries
11.10 Creating menus
11.11 Additional Resources
11.12 Lab Exercises
Module Twelve Geometry Managers
12.1 pack options
12.2 The -after and -before option
12.3 The -anchor and -side options
12.4 The -fill option
12.5 Padding with pack
12.6 Managing widgets with pack
12.7 Binding
12.8 The focus command
12.9 Additional Resources
12.10 Lab Exercises