If you ask Perl programmers today what book they relied
on most when they were learning Perl, you'll find that an
overwhelming majority will name Learning Perl--also known
affectionately as "the Llama." The first edition of
Learning Perl appeared in 1993 and has been a bestseller
ever since. Written by two of the most prominent and active
members of the Perl community, this book is the
quintessential tutorial for the Perl programming
language.
Perl began as a tool for Unix system administrators,
used for countless small tasks throughout the workday. It
has since blossomed into a full-featured programming
language on practically every computing platform, and is
used for web programming, database manipulation, XML
processing, and (of course) system administration--all this
while still remaining the perfect tool for the small daily
tasks it was designed for. Perl is quick, fun, and
eminently useful. Many people start using Perl because they
need it, but they continue to use Perl because they love
it.
The third edition of Learning Perl has not only been
updated for Perl 5.6, but has also been rewritten from the
ground up to reflect the needs of programmers learning Perl
today. Informed by their years of success at teaching Perl
as consultants, the authors have re-engineered the book to
better match the pace and scope appropriate for readers
trying to get started with Perl, while retaining the
detailed discussion, thorough examples, and eclectic wit
for which the book is famous.
This edition of the Llama includes an expanded and more
gently-paced introduction to regular expressions, new
exercises and solutions designed so readers can practice
what they've learned while it's still fresh in their minds,
and an overall reworking to bring Learning Perl into the
new millennium.
Perl is a language for getting your job done. Other
books may teach you to program in Perl, but this book will
turn you into a Perl programmer.
Table of contents
Preface
1. Introduction
Questions and Answers
What Does "Perl" Stand For?
How Can I Get Perl?
How Do I Make a Perl Program?
A Whirlwind Tour of Perl
Exercises
2. Scalar Data
What Is Scalar Data?
Numbers
Strings
Perl's Built-in Warnings
Scalar Variables
Output with print
The if Control Structure
Getting User Input
The chomp Operator
The while Control Structure
The undef Value
The defined Function
Exercises
3. Lists and Arrays
Accessing Elements of an Array
Special Array Indices
List Literals
List Assignment
Interpolating Arrays into Strings
The foreach Control Structure
Perl's Favorite Default: $_
Scalar and List Context
<STDIN> in List Context
Exercises
4. Subroutines
System and User Functions
Defining a Subroutine
Invoking a Subroutine
Return Values
Arguments
Private Variables in Subroutines
The local Operator
Variable-length Parameter Lists
Notes on Lexical (my) Variables
The use strict Pragma
The return Operator
Exercises
5. Hashes
What Is a Hash?
Hash Element Access
Hash Functions
Typical Use of a Hash
Exercises
6. I/O Basics
Input from Standard Input
Input from the Diamond Operator
The Invocation Arguments
Output to Standard Output
Formatted Output with printf
Exercises
7. Concepts of Regular
Expressions
What Are Regular Expressions?
Using Simple Patterns
A Pattern Test Program
Exercises
8. More About Regular Expressions
Character Classes
General Quantifiers
Anchors
Memory Parentheses
Precedence
Exercises
9. Using Regular Expressions
Matches with m//
Option Modifiers
The Binding Operator, =~
Interpolating into Patterns
The Match Variables
Substitutions with s///
The split Operator
The join Function
Exercises
10. More Control Structures
The unless Control Structure
The until Control Structure
Expression Modifiers
The Naked Block Control Structure
The elsif Clause
Autoincrement and Autodecrement
The for Control Structure
Loop Controls
Logical Operators
Exercise
11. Filehandles and File Tests
What Is a Filehandle?
Opening a Filehandle
Fatal Errors with die
Using Filehandles
Reopening a Standard Filehandle
File Tests
Exercises
12. Directory Operations
Moving Around the Directory Tree
Globbing
An Alternate Syntax for Globbing
Directory Handles
Recursive Directory Listing
Exercises
13. Manipulating Files and
Directories
Removing Files
Renaming Files
Links and Files
Making and Removing Directories
Modifying Permissions
Changing Ownership
Changing Timestamps
Using Simple Modules
Exercises
14. Process Management
The system Function
The exec Function
The Environment Variables
Using Backquotes to Capture Output
Processes as Filehandles
Getting Down and Dirty with Fork
Sending and Receiving Signals
Exercises
15. Strings and Sorting
Finding a Substring with index
Manipulating a Substring with substr
Formatting Data with sprintf
Advanced Sorting
Exercises
16. Simple Databases
DBM Files and DBM Hashes
Manipulating Data with pack and unpack
Fixed-length Random-access Databases
Variable-length (Text) Databases
Exercises
17. Some Advanced Perl Techniques
Trapping Errors with eval
Picking Items from a List with grep
Transforming Items from a List with map
Unquoted Hash Keys
More Powerful Regular Expressions
Slices
Exercise
A. Exercise Answers
B. Beyond the Llama
Index