Because Perl has built-in functions for easy manipulation of processes and files, and because Perl is portable (i.e., it can run on a number of different platforms), it is especially popular with system administrators, who often oversee one or more systems of different types. The phenomenal growth of the World Wide Web greatly increased interest in Perl, which was the most popular language for writing CGI scripts to generate dynamic Web pages. Even today, with the advent of other languages, such as Perl and ASP.net, focused on processing Web pages, Perl continues increased popularity with system and database administrators, scientists, geneticists, and anyone who has a need to collect data from files and manipulate it.
Anyone can use Perl, but it is easier to learn if you are already experienced in writing UNIX shell scripts, Perl, or languages derived from C, such as C++ and Java. For these people, the migration to Perl will be relatively easy. For those who have little programming experience, the learning curve might be a little steeper, but after learning Perl, there may be no reason to ever use anything else.
If you are familiar with UNIX utilities such as awk, grep, sed, and tr, you know that they don't share the same syntax; the options and arguments are handled differently, and the rules change from one utility to the other. If you are a shell programmer, you usually go through the grueling task of learning a variety of utilities, shell metacharacters, regular expression metacharacters, quotes, and more quotes, etc. Also, shell programs are limited and slow. To perform more complex mathematical tasks and to handle interprocess communication and binary data, for example, you may have to turn to a higher-level language, such as C, C++, or Java. If you know C, you also know that searching for patterns in files and interfacing with the operating system to process files and execute commands are not always easy tasks.
Perl integrates the best features of shell programming, C, and the UNIX utilities awk, grep, sed, and tr. Because it is fast and not limited to chunks of data of a particular size, many system administrators and database administrators have switched from the traditional shell scripting to Perl. C++ and Java programmers can enjoy the object-oriented features added in Perl 5, including the ability to create reusable, extensible modules. Now Perl can be generated in other languages, and other languages can be embedded in Perl. There is something for everyone who uses Perl, and for every task "there's more than one way to do it" (http://www.oreilly.com/catalog/opensources/book/larry.html).
You don't have to know everything about Perl to start writing scripts. You don't even have to be a programmer. This book will help you get a good jump-start, and you will quickly see some of its many capabilities and advantages. Then you can decide how far you want to go with Perl. If nothing else, Perl is fun!
Perl has been through a number of revisions. There are two major versions of Perl: Perl 4 and Perl 5. The last version of Perl 4 was Perl 4, patchlevel 36 (Perl 4.036), released in 1992, making it ancient. Perl 5.000 (ancient), introduced in fall 1994, was a complete rewrite of the Perl source code that optimized the language and introduced objects and many other features. Despite these changes, Perl 5 remains highly compatible with the previous releases. (Examples in this book have been tested using both versions, and where there are differences, they are noted.) As of this writing, the current version of Perl is 5.8.8. Perl 6 is the next generation of another Perl redesign and does not have an official release date. It will have new features, but the basic language you learn here will be essentially the same.
"Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community."
—Larry Wall, State of the Onion speech, TPC4
Perl 6 is essentially Perl 5 with many new features. The basic language syntax, features, and purpose will be the same. If you know Perl, you will still know Perl. If you learn Perl from this book, you will be prepared to jump into Perl 6 when it is released. Perl 6 has been described as learning Australian English if you speak American English, rather than trying to switch from English to Chinese.
To get information about everything happening with Perl 6, go to:
http://www.perl.com/pub/a/2006/01/12/what_is_perl_6.html?page=2
And for a sketch of Larry Wall and history of Perl, go to:
http://www.softpanorama.org/People/Wall/index.shtml#Perl_history