Practical Extraction and Report Language
(PERL)
Perl
is not a typo for pearl. Perl is actually an acronym. It stands for Practical
Extraction and Report Language, which is a pretty good description of what Perl
does particularly well: Extraction for looking at files and pulling out the
important parts (for example, the actual data from an HTML file, or the user or
host names from a networking log file); and report for generating output and,
well, reports, based on the information that was found. It's a practical
language because it's much easier to write these sorts of programs in Perl than
it would be in a language such as C.
But
no one really gets hung up on the acronym any more; Perl is just Perl. Perl was
created in 1987 by Larry Wall, who at the time was already well known in the
UNIX software world for having written the freely available patch program as
well as the Usenet newsreader. The story goes that Larry was working on a task
for which the UNIX program, the popular extraction and report language of the
time, wasn't powerful enough, hut he realized the task would take a whole lot of
work to accomplish in a language such as C.
So
Perl was created as a scripting language that borrows bits from various other
UNIX tools and languages, such as sed, grep, awk, shell scripting and, yes, C.
Perl was released for free to the UNIX community. And the UNIX community said it
was good. For many years, Perl was the language of choice for UNIX system
administrators and other UNIX programmers who needed a flexible,
quick-to-program language to accomplish tasks for which a language such as C
would be overkill (or take too much work), or for tasks that were too complex
for shell scripting.
It
was because of its existing popularity as a UNIX language that Perl became
popular as a Web language for creating CGI scripts-most early Web servers ran on
UNIX systems. CGI (Common Gateway Interface) allowed programs and scripts to be
run on the Web server in response to forms or other input from Web pages. Perl
fit neatly into that niche, and in the last couple of years as the Web and CGI
have become more and more popular, the interest in the Perl language has also
grown dramatically.
Even
as Web servers have ended up being run on systems other than UNIX, Perl moved
with them and continued to be popular in this realm. Larry Wall originally
"owned" Perl and was responsible with keeping it updated and incorporating new
changes. With Perl's recent surge in popularity, however, the task of
maintaining Perl now falls to a close-knit group of volunteer programmers. These
programmers, including Larry Wall, maintain the core Perl source, port the
source to platforms other than UNIX, coordinate bug fixes, and establish the
"standard" Perl release. No single organization owns Perl like the GNU tools
(GNU maces, GCC, GDB, An
Introduction to Perl and so on) and the Linux operating system, Perl is defined
and managed on a volunteer good will basis.
It's
also available free of charge; all you have to do is download and install it.
The current major version of Perl is Perl 5. All Perl releases also have minor
versions with various numbers and letters, which most commonly fix bugs that
were found in the original release (although some new bugs do creep into the
minor version releases).
These
minor numbers may have changed by the time you read this, as work is ongoing on
all the Perl ports(and at any time, there may be separate releases for less
stable beta versions as well as the current "official" version). For the most
part, however, the minor version is less important than making sure you have
some version of Perl 5 installed. As of Perl 5.005, support for Windows was
folded into the core source code for Perl (as opposed to the separate different
and often incompatible ports that had been around
before).
If
you're using Windows and an earlier version of Perl, I strongly recommend you
upgrade to the newer version; the new core version fixes many bugs, synchronizes
differences, and makes things a lot easier to work
with.