Chapter 4. The Perl Language
This chapter is a quick and merciless guide to the Perl language
itself. If you're trying to learn Perl from scratch
and would prefer to be taught rather than to have things thrown at
you, then you might be better off with Learning Perl, 3rd
Edition by Randal L. Schwartz and Tom Phoenix. However, if
you already know some other programming languages and just want to
learn the particulars of Perl, this chapter is for you. Sit tight,
and forgive us for being terse—we have a lot of ground to
If you want a more complete discussion of the Perl language and its
idiosyncrasies (and we mean complete), see
Programming Perl, 3rd Edition by Larry Wall, Tom
Christiansen, and Jon Orwant.
4.1. Program Structure
Perl is a particularly forgiving
language, as far as program layout goes. There are no rules about
indentation, newlines, etc. Most lines end with semicolons, but not
everything has to. Most things don't have to be
declared, except for a couple of things that do. Here are the bare
required only between items that would otherwise be confused as a
single term. All types of whitespace—spaces, tabs, newlines,
etc.—are equivalent in this context. A comment counts as
whitespace. Different types of whitespace are distinguishable within
quoted strings, formats, and certain line-oriented forms of quoting.
For example, in a quoted string, a newline, a space, and a tab are
interpreted as unique characters.
Every simple statement must end
with a semicolon. Compound statements contain brace-delimited blocks
of other statements and do not require terminating semicolons after
the ending brace. A final simple statement in a block also does not
require a semicolon.
subroutines and report formats need to be explicitly declared. All
other user-created objects are automatically created with a null or 0
value unless they are defined by some explicit operation such as
assignment. The -w command-line switch will warn
you about using undefined values.
You may force yourself to declare your variables by including the
use strict pragma in your programs (see Chapter 8, "Standard Modules" for more information on pragmas and
strict in particular). This causes an error if you
do not explicitly declare your variables.
- Comments and documentation
Comments within a program are
indicated by a pound sign (#). Everything
following a pound sign to the end of the line is interpreted as a
Lines starting with = are interpreted as the
start of a
section of embedded documentation (pod), and all subsequent lines
until the next =cut are ignored by the compiler.
See Section 4.12, "Formats" later
in this chapter for more information on pod format.
Copyright © 2002 O'Reilly & Associates. All rights reserved.