Microsoft Store
 

Perl


 

Perl, also Practical Extraction and Report Language (a backronym, see below), is an interpreted procedural programming language designed by Larry Wall. Perl borrows features from C, shell scripting (sh), awk, sed, and (to a lesser extent) many other programming languages.

Language design

The design of Perl can be understood as a response to three broad trends in the computer industry: falling hardware costs, rising labor costs, and advancing compiler technology. Many earlier computer languages, such as Fortran and C, were designed to make efficient use of expensive computer hardware. In contrast, Perl is designed to make efficient use of expensive computer programmers.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Perl has many features that ease the programmer's task at the expense of greater CPU and memory requirements. These include automatic memory management; dynamic typing; strings, lists, and hashes; regular expressions, and interpreted execution.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Larry Wall was trained as a linguist, and the design of Perl is very much informed by linguistic principles. Examples include Huffman coding (common constructions should be short), good end-weighting (the important information should come first), and a large collection of language primitives. Perl favors language constructs that are natural for humans to read and write, even where they complicate the Perl interpreter.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Perl has features that support a variety of programming paradigms, such as procedural, functional, and object-oriented. At the same time, Perl does not enforce any particular paradigm, or even require the programmer to choose among them.

Related Topics:
Procedural - Functional

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

There is a broad practical bent to both the Perl language and the community and culture that surround it. The preface to Programming Perl begins, "Perl is a language for getting your job done". One consequence of this is that Perl is not a tidy language. It includes features if people use them, tolerates exceptions to its rules, and employs heuristics to resolve syntactical ambiguities.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Discussing the variant behaviour of built-in functions in list and scalar context, the perlfunc(1) man page says,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

In general, they do what you want, unless you want consistency.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Perl has several mottos that convey aspects of its design and use. One is There's more than one way to do it (TMTOWTDI - usually pronounced 'Tim Toady'). Another is Perl: the Swiss Army Chainsaw of Programming Languages. A stated design goal of Perl is to make easy tasks easy and difficult tasks possible. Perl has also been called The Duct Tape of the Internet.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

~ Table of Content ~

Introduction
Overview
Language structure
Language design
Opinion
History
CPAN
Name
Fun with Perl
See also
External links
Books
References

 

 

~ What's Hot ~


~ Community ~

History Forum
Come and discuss about History, Civilizations, Historical Events and Figures
History Web-Ring
A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site.