Go to the first, previous, next, last section, table of contents.


Purpose of this Book

This book has been created for a number of reasons. The primary reason is to provide a freely redistributable tutorial for the Perl language. In writing this freely redistributable tutorial, it is our hope that the largest number of people can have access to it and share it.

In the Perl community, we have discovered ways to save time by writing Perl programs that make our jobs and lives easier. Surely, Perl is not a panacea, but it has certainly made our lives a little bit better. It is hoped that you can use Perl to make your jobs and lives easier, too.


Thanks to all those who sent grammar fixes and feedback over the years. There are far too many of you to name here, but I have tried to list you all in the `THANKS' file that comes with the transparent copy of this book.

Obtaining the Most Recent Version

This book is still under development. The most recent version can be obtained at http://www.ebb.org/PickingUpPerl.


This book does not that assume any prior knowledge of Perl. However, a reader familiar with standard computer science concepts such as abstraction, stacks, queues, and hash tables will definitely find her(1) way through this book with ease. In other words, anyone with a knowledge equivalent to a first-year of college computer science courses should find this book very basic. Those of less experience may find this book challenging.

Material Covered

The material covered in this book is designed to prepare the reader to enter the world of Perl programming. This book covers the basic data and control structures of Perl, as well as the philosophies behind Perl programming. The native search patterns used in Perl, called regular expressions, are introduced and discussed.

These concepts are introduced through the use of examples. It is hoped that readers find these examples fun.

Conventions Used in this Book

In this text, a variety of conventions are used to explain the material. Certain typographical and display elements are used for didactic purposes.

Any Perl code that is included directly in flowing text appears like this: $x = 5. Any operating system commands discussed in flowing text appear like this: program. Operating system files that are discussed directly in the flowing text appear like this: `file'. When a technical term of particular importance is first introduced and explained, it appears in emphasized text, like this: an important term.

When Perl code examples or operating system commands need to be separated away from the flowing text for emphasis, or because the code is long, it appears like this:

my $x = "foo";     # @cc{This is a Perl assignment}
print $x, "\n";    # @cc{Print out "foo" and newline}

All Perl code shown in this manner will be valid in Perl, version 5.6.0. In most cases, you can paste code from one of these sections into a Perl program, and the code should work, even under use strict and use warnings.

Sometimes, it will be necessary to include code that is not valid Perl. In this case, a comment will appear right after the invalid statement indicating that it is not valid, like this:

$x = "foo;     # @cc{INVALID: a `"' character is missing}

When code that we set aside forms an entire Perl program that is self-contained, and not simply a long example code section, it will appear like this:


use warnings;
use strict;

print "Hello World\n";

Finally, when text is given as possible output that might be given as error messages when perl is run, they will appear like this:

Semicolon seems to be missing
syntax error

Keep these standards in mind as you read this book.

Go to the first, previous, next, last section, table of contents.