Perl is a general-purpose programming language invented in 1987 by Larry Wall. With over one million users worldwide, it has become the language of choice for World Wide Web development, text processing, Internet services, mail filtering, graphical programming, systems administration, and every other task requiring portable and easily-developed solutions.
Perl is compiled on-the-fly. This means that as soon as you write your program, you can run it-you don’t have to wait for your compiler to generate object code. Since Perl programs needn’t be compiled for a particular type of computer, they can run on all of them without modification. The same Perl program can run on Unix, Windows, NT, Macs, DOS, Plan 9, OS/2, VMS, and AmigaOS.
Perl is collaborative. The CPAN (Comprehensive Perl Archive Network) contains hundreds of free utilities written by Perl programmers worldwide. In minutes, you can search for, download, install, and use someone else’s module. You save time.
Perl is free. Unlike Java, Perl is not a proprietary language. The source code and compiler are free, and maintained by a worldwide network of volunteers supervised by Larry. Perl is distributed under both the GNU General Public License and an Artistic License, so you can sell your Perl programs. Perl will always be free.
Perl is fast. The Perl interpreter is written in C, and a decade of optimizations have resulted in a fast executable. The Perl compiler can convert your program to C or to an internal bytecode for additional speedup, and Perl’s bridge to C, called XS, lets you use C from Perl and vice versa.
Perl is complete. The best support for regular expressions in any language, internal support for hash tables, a built-in debugger, facilities for report generation, networking functions, utilities for CGI scripts, database interfaces, arbitrary-precision arithmetic-all are part of Perl.
Perl is secure. If you’re concerned that users might supply pernicious input to your program, Perl performs “taint checking” that prevents security breaches. If you want to run someone’s Perl code but avoid the risks inherent in executing unknown code, you can run the program in a compartment that keeps your site secure.
Perl is open for business. Thousands of corporations rely on Perl for their information processing needs. Wall Street, the aerospace industry, pharmaceutical companies, countless World Wide Web firms, and even the Human Genome Project use Perl every day.
Perl is simple to learn. Perl makes easy things easy and hard things possible. While it’s sometimes fun writing indecipherable Perl programs, Perl lets you write with clarity when you want to. Perl handles tedious tasks for you, such as memory allocation and garbage collection. It doesn’t force you to declare variables as belong to a certain type, either.
Perl is concise. Many programs that would take hundreds or thousands of lines in other programming languages can be expressed in a pageful of Perl-letting you see everything at once. Perl’s default variable and context let you omit unnecessary detail. The result: Your programs have fewer bugs and are more maintainable.
Perl is object-oriented. Inheritance, polymorphism, and encapsulation are all provided by Perl’s object-oriented capabilities. There’s no arbitrary boundary between regular Perl and object-oriented Perl as there is between C and C++: it’s all just Perl.
Perl is flexible. The Perl motto is “There’s more than one way to do it.” The language doesn’t force a particular style of programming on you. Write what comes naturally.
Perl is fun. In these days of opaque API’s, self-serving jargon, conflicting and unpredictable standards, and proprietary systems that discourage peeking under the hood, people have forgotten that programming is supposed to be fun. I don’t mean the satisfaction of seeing well-tuned programs do our bidding, but the literary act of creative writing that yields those programs. With Perl, the journey is as enjoyable as the destination.