What is Perl?March 8, 2008 – 2:33 PM
Practical Extraction and Report Language
While there are many other programming and scripting languages available, none has become quite as pervasive in the Linux world as Perl, the Practical Extraction and Report Language. It’s found in all Linux distributions and across the spectrum of web, email, administrative, and graphical applications. It’s often been called the duct tape of the Internet. Given the preponderance of Linux on the ‘net as well, Perl is truly a core element of any Linux system.
At its most basic, Perl is an interpreted language. Unlike languages that require a separate compile phase, Perl can be scripted and run on the fly. In many ways, that essential element frees Perl from some of the common programming constraints. It’s portable, running without OS dependencies in Linux, Unix, Mac, Windows, and several other operating environments.
Perl shines especially bright in its support for regular expressions. Its ability to pick and parse through text, matching strings or abstractions of strings is unsurpassed. That feature alone makes Perl the choice of many for applications such as web log analysis and other text-heavy administrative functions.
Perl was created in 1987 by Larry Wall. The grandson of preachers and a student of linguistics, Wall is as devout about his own spirituality as his code. His personal focus on language is reflected in Perl. His design approach with Perl began with the understanding that expressive languages are not minimalistic, as computer languages tend to be. Consequently, Perl has a much more human feel than nearly any other programming language. In fact, Wall has noted that in creating Perl, he was looking for a diagonal model, as opposed to an orthogonal model where all the features are at right angles to each other. Understanding that humans don’t think in that manner, he designed a language that was much more open to personal style and to human rather than machine thought processes. This style alone has made Perl an incredibly flexible and powerful language.
And, of course, Perl is distributed under open source licensing. It’s actually distributed under two separate licenses; the Gnu General Public License and an Artistic License created by Wall. The Artistic License allows for sale of programs using Perl at a profit. This dual licensing allows developers to choose the license that suits their needs without running afoul of the open source community.
If you’re thinking about developing for the Web, there’s almost no way to avoid learning Perl at some functional level. It’s a core element of the ‘net, of programming in general, and of Linux.