Perl (Practical Extraction and Report Language) is an interpreted scripting language that belongs to the multi-paradigm languages. Perl is a platform-independent language that is generally available as open source - in December 2009 in version 5.10.1. Perl is a scripting language that is used both for editing texts and files and for the administration ofprocesses as well as for web and database programming.
The origins of Perl go back to Larry Wall, who developed the language starting in 1987, taking into account aspects of the C programming language, awk - a scripting language for analyzing text data - and the Unix shell in particular. Numerous extensions, called modules, exist for Perl and are available online in a central archive, the Comprehensive Perl Archive Network (CPAN).
Perl supports object-oriented, procedural, and functional language, making it a multiparadigm language. Perl is an interpreted scripting language that, due to its origins in the Unix environment, is similar in many aspects to the C programming language, but has been influenced in many elements by sed, awk, Pascal, and others. Because of the complexity of different language concepts and language cultures, Perl is very flexible to use from a development point of view.
The current version of Perl runs on more than 100 different computer platforms and supports programming of complex software structures in addition to rapid prototyping due to its flexible structure. Perl can also be seen as an excellent substitute for shell script programming, because scripts can also be created very comfortably in Perl. Every Linux distribution and every BSD derivative should therefore include a Perl interpreter by default in the standard installation. Whether Perl is currently installed on a system can be checked under Linux with a call to perl -v.
The concept of PerlThe concept of Perl is to first read a script completely and immediately convert it into bytecode. However, the script is not executed until it has been processed completely without errors. Thus, a syntactically incorrect script or program is not even executed - in contrast to shell programs. In addition, the interpreter offers detailed error messages, which allow them to be followed up quickly. Furthermore, the conceptual approach results in an extraordinarily high speed of the program flow, which also supports the processing of large amounts of data. The interpreter does not have to reread each line ofsource code before each repetitive program step or repeatedly transform such a line into byte code, so that this also results in considerable speed advantages.
In addition to providing powerful functions for manipulating text-like data, Perl can also handle binary data. Perl also gained importance because it supports a wide range of applications. In particular, on the Internet and the Web, where client-server interactions, such as SQL statements sent to a database server and the results sent back by the server, are implemented in Perl. An appropriate web framework is also available for this purpose in Catalyst, and text protocols such as Common Gateway Interface (CGI) can also be performed using Perl. Internet sites are executed by Perl, which provide dynamically generated content or search functions. Another special feature of Perl is, for example, the use of regular expressions, which can be used to search a text for character patterns. With these regular expressions, Perl programs can be written faster, shorter, simpler, and thus much more effectively. Stubs can be used to embed HTML code or C code in Perl and to call programs written with C as well as libraries with Perl. Automation of system administration and data backup also belong to the tasks of Perl, as well as the wide field of text processing with file handling.
Since Perl is available for a large number of operating systems and has an extremely wide distribution, a considerable amount of sample programs, so-called modules, are available. Their administration is organized in the Perl world via the central - online available - archive CPAN (Comprehensive Perl Archive Network). This consists of a worldwide network of mirrored servers with a uniform directory structure. The nearest server is automatically determined when logging into the network. To find the right module for a specific problem, the CPAN can be accessed with the support of a highly professional search and documentation structure. For example, Perl is not designed to focus on processing and handling numeric data. Here, too, there are modules for arbitrarily large integers and floating-point numbers, as well as the PDL module for calculating large matrices.