A perl script consists of a sequence
of declarations and commands. The only things that need to be
declared in perl are report formats and subroutines. See
the sections below for more information on those declarations.
All uninitialized user-created objects are assumed to start with
a null or 0 value until they are defined by some explicit
operation such as assignment. The sequence of commands is
executed just once, unlike in sed and awk scripts,
where the sequence of commands is executed for each input line.
While this means that you must explicitly loop over the lines of
your input file (or files), it also means you have much more
control over which files and which lines you look at. (Actually,
I'm lying--it is possible to do an implicit loop with either the -n
or -p switch.)
A declaration can be put anywhere a command
can, but has no effect on the execution of the primary sequence
of commands--declarations all take effect at compile time.
Typically all the declarations are put at the beginning or the
end of the script.
Perl is, for the most part, a free-form
language. (The only exception to this is format declarations, for
fairly obvious reasons.) Comments are indicated by the #
character, and extend to the end of the line. If you attempt to
use /* */ C comments, it will be interpreted either as division
or pattern matching, depending on the context. So don't do that.