Introduction
* What Does “Perl†Stand For?
* Is Perl Easy or Hard?
* How Can I Get Perl?
* A Simple Program
* Lab Session
Scalar Data
* Numbers and Strings
* Single-Quoted and Double-Quoted String Literals
* String and Numeric Operators
* Perl’s Built-in Warnings
* Output with print
* Comparison Operators
* The undef Value
* The defined Function
* Lab Session
Lists and Arrays
* List Literals
* The qw Shortcut
* List Assignment
* Creating and Accessing Elements of an Array
* Special Array Indices
* The pop, push, shift and unshift Operators
* The splice Operator
* Interpolating Arrays into Strings
* The reverse and sort Operator
* Lab Session
Subroutines
* Defining and Invoking a Subroutine
* Return and Arguments Values
* Private Variables in Subroutines
* The use strict Pragma
* The return Operator
* Lab Session
* Defining and Invoking a Subroutine
* Return and Arguments Values
* Private Variables in Subroutines
* The use strict Pragma
* The return Operator
* Lab Session
Input and Output
* Input from Standard Input and Diamond Operator
* The chomp Operator
* The Invocation Arguments
* Output to Standard Output
* Formatted Output with printf
* Filehandles
* Opening and closing a Filehandle
* Fatal Errors with die
* Warning Messages with warn
* Automatically die-ing
* Output with say
* Lab Session
Hashes
* Creating and Accessing Hash Elements
* Hash Assignment
* The keys and values Functions
* The each Function
* The exists Function
* The delete Function
* The %ENV hash
* Lab Session
Regular Expressions
* What Are Regular Expressions?
* Matching with Regular Expressions
* Processing Text with Regular Expressions
* Anchors
* The Binding Operator =~
* Lab Session
More Control Structures
* The if Control Structure
* The else Clause with unless
* The elseif Clause
* The unless Control Structure
* The until Control Structure
* The while Control Structure
* The foreach Control Structure
* Perl’s Favorite Default: $_
* The Naked Block Control Structure
* The for Control Structure
* Loop Controls
* The last Operator
* The next Operator
* The redo Operator
* Labeled Blocks
* Lab Session
Perl Modules
* Installing Modules
* Using Simple Modules
* The File::Basename Module
* Using Only Some Functions from a Module
* Databases and DBI
* Dates and Times
* Lab Session
File Tests
* File Test Operators
* Testing Several Attributes of the Same File
* File Test Operators
* Testing Several Attributes of the Same File
* The stat and lstat Functions
* The localtime Function
* Lab Session
Directory Operations
* Moving Around the Directory Tree
* Globbing
* Directory Handles
* Manipulating Files and Directories
* Removing, Renaming, links Files
* Making and Removing Directories
* Modifying Permissions
* Making and Removing Directories
* Changing Ownership
* Changing Timestamps
* Lab Session
Strings and Sorting
* Finding a Substring with index
* Manipulating a Substring with substr
* Formatting Data with sprintf
* Using sprintf with “Money Numbersâ€
* Advanced Sorting
* Sorting a Hash by Value
* Sorting by Multiple Keys
* Lab Session
Smart Matching and given-when
* The Smart Match Operator
* Smart Match Precedence
*The given Statement
* Dumb Matching
* Lab Session
Process Management
* The system Function
* Avoiding the Shell
* The Environment Variables
* The exec Function
* Using Backquotes to Capture Output
* External Processes with
* The system Function
* Avoiding the Shell
* The Environment Variables
* The exec Function
* Using Backquotes to Capture Output
* External Processes with IPC::System::Simple
* Processes as Filehandles
* Getting Down and Dirty with Fork
* Sending and Receiving Signals
* Lab Session
Some Advanced Perl Techniques
* Slices
* Array Slice
* Hash Slice
* Trapping Errors
* Using eval
* More Advanced Error Handling
* autodie
* Picking Items from a List with grep
* Transforming Items from a List with map
* Fancier List Utilities
* Lab Session