practical extraction and report language (Internet) (Perl)
Perl (Practical Extraction and Report Language) is an interpreted scripting language that belongs to the multi-paradigm languages. Perl is a platform-independentlanguage that is generally available as open source - in December 2009 in version 5.10.1. Perl is a scripting language that is used for editing texts and files as well as for the administration of processes and 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, so-called modules, exist for Perl, which are available online in a central archive, the Comprehensive Perl Archive Network( CPAN).
Perl supports object-oriented, procedural, and functional language, making it a multi-paradigm 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 perspective.
The current version of Perl runs on more than 100 different computer platforms and, due to its flexible structure, supports not only rapid prototyping but also the programming of complex software structures. Perl can also be seen as an excellent substitute for shell script programming, since 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 bechecked under Linux with a call to perl -v.
The concept of Perl
The 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 faulty script or program is not even executed - in contrast to shell programs. In addition the interpreter offers detailed error messages, which permit their brisk pursuit. 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 bytecode, so that this also results in considerable speed advantages.
Besides the fact that Perl provides powerful functions for manipulating text-likedata, it is also possible to 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. Catalyst, an appropriate web framework, is also available for this purpose. Likewise, text protocols such as Common Gateway Interface( CGI) can be executed with 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 and libraries with Perl. The automation of the system administration and the data protection belong likewise to the tasks of Perl, just like the wide field of the text processing with file handling.
Since Perl is available for a large number of operating systems and has an extreme spreading, a considerable quantity of sample programs, so-called modules, is 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 the calculation of large matrices.