(redirected from Perl programming language)
Also found in: Dictionary, Acronyms.


a computer language that is used for text manipulation, esp on the World Wide Web
Collins Discovery Encyclopedia, 1st edition © HarperCollins Publishers 2005


McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.


(language, tool)
A high-level programming language, started by Larry Wall in 1987 and developed as an open source project. It has an eclectic heritage, deriving from the ubiquitous C programming language and to a lesser extent from sed, awk, various Unix shell languages, Lisp, and at least a dozen other tools and languages. Originally developed for Unix, it is now available for many platforms.

Perl's elaborate support for regular expression matching and substitution has made it the language of choice for tasks involving string manipulation, whether for text or binary data. It is particularly popular for writing CGI scripts.

The language's highly flexible syntax and concise regular expression operators, make densely written Perl code indecipherable to the uninitiated. The syntax is, however, really quite simple and powerful and, once the basics have been mastered, a joy to write.

Perl's only primitive data type is the "scalar", which can hold a number, a string, the undefined value, or a typed reference. Perl's aggregate data types are arrays, which are ordered lists of scalars indexed by natural numbers, and hashes (or "associative arrays") which are unordered lists of scalars indexed by strings. A reference can point to a scalar, array, hash, function, or filehandle. Objects are implemented as references "blessed" with a class name. Strings in Perl are eight-bit clean, including nulls, and so can contain binary data.

Unlike C but like most Lisp dialects, Perl internally and dynamically handles all memory allocation, garbage collection, and type coercion.

Perl supports closures, recursive functions, symbols with either lexical scope or dynamic scope, nested data structures of arbitrary content and complexity (as lists or hashes of references), and packages (which can serve as classes, optionally inheriting methods from one or more other classes). There is ongoing work on threads, Unicode, exceptions, and backtracking. Perl program files can contain embedded documentation in POD (Plain Old Documentation), a simple markup language.

The normal Perl distribution contains documentation for the language, as well as over a hundred modules (program libraries). Hundreds more are available from The Comprehensive Perl Archive Network. Modules are themselves generally written in Perl, but can be implemented as interfaces to code in other languages, typically compiled C.

The free availability of modules for almost any conceivable task, as well as the fact that Perl offers direct access to almost all system calls and places no arbitrary limits on data structure size or complexity, has led some to describe Perl, in a parody of a famous remark about lex, as the "Swiss Army chainsaw" of programming.

The use of Perl has grown significantly since its adoption as the language of choice of many World-Wide Web developers. CGI interfaces and libraries for Perl exist for several platforms and Perl's speed and flexibility make it well suited for form processing and on-the-fly web page creation.

Perl programs are generally stored as text source files, which are compiled into virtual machine code at run time; this, in combination with its rich variety of data types and its common use as a glue language, makes Perl somewhat hard to classify as either a "scripting language" or an "applications language" -- see Ousterhout's dichotomy. Perl programs are usually called "Perl scripts", if only for historical reasons.

Version 5 was a major rewrite and enhancement of version 4, released sometime before November 1993. It added real data structures by way of "references", un-adorned subroutine calls, and method inheritance.

The spelling "Perl" is preferred over the older "PERL" (even though some explain the language's name as originating in the acronym for "Practical Extraction and Report Language"). The program that interprets/compiles Perl code is called "perl", typically "/usr/local/bin/perl" or "/usr/bin/perl".

Latest version: 5.005_03 stable, 5.005_62 in development, as of 1999-12-04.

Usenet newsgroups: news:comp.lang.perl.announce, news:comp.lang.perl.misc.

["Programming Perl", Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1].

["Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc., Sebastopol, CA].
This article is provided by FOLDOC - Free Online Dictionary of Computing (


(Practical Extraction Report Language) A programming language written by Larry Wall that combines syntax from several Unix utilities and languages. Introduced in 1987, Perl is designed to handle a variety of system administrator functions and provides comprehensive string handling functions. It is widely used to write Web server programs for such tasks as automatically updating user accounts and newsgroup postings, processing removal requests, synchronizing databases and generating reports. Perl has also been adapted to non-Unix platforms. See mod_perl and LWP. See also PURL.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
For the second edition, they have replaced the PERL programming language with flexible pseudocode, though the PERL code is still available on the website.
Many of the examples in this volume are presented in the PERL programming language but a deep understanding of PERL is not required to use this work.
This resource for beginning to intermediate programmers provides comprehensive coverage of the Perl programming language. Utilizing a tutorial approach, software developer Flynt guides readers through 160 sample programs that demonstrate the topics addressed.
In this resource for intermediate to advanced programmers, teacher and technology author Randal Schwartz offers a collection of practical tutorials on the Perl programming language. The tutorials are arranged into five categories: advanced Perl programming; text searching and editing; HTML and XML processing; CGI programming; and Website management.
Subsequent chapters introduce PHP and Perl programming languages for developing back-end code for Web applications.