Perl is a programming language which was originally developed for script manipulation. But now Perl is used for a variety of purpose including web development, GUI development, system administration and many more. It is a stable, cross platform programming language.
For web development, Perl CGI is used. CGI is the gateway which interacts with the web browser and Perl in a system.
Its typical use is extracting information from a text file and printing out report for converting a text file into another form. This is because it got its name after the expression, "Practical Extraction and Report Language".
Programs written in Perl are called Perl scripts, whereas system programs to execute Perl scripts are called Perl program.
Perl is an interpreted language. When a Perl program run, it is first compiled into a byte code, then it is converted into machine instructions. So writing something in Perl instead of C saves your time.
It supports most of the operating systems and is listed in Oxford English dictionary. Its concepts and syntax is taken from many languages like awk, bourne shell, C, sed and even English.
Perl was developed by Larry Wall in 1987 as a scripting language to make report processing easier.
It was first released with version 1.0 on December 18, 1987.
Perl 2, released in 1988 adding a much better regular expression engine.
Perl 3, released in 1989 adding support for binary data streams.
Perl 4, released in 1991 with a better documentation than earlier.
Perl 5, released on October 17, 1994. It added many new features to its last version like objects, variables, references and modules.
The latest version 5.24 is released on May 9, 2016.
Perl 5 is copyright (C) 1993-2005, by Larry Wall. It is open-source and free software. It can be redistributed or modified under certain terms and conditions of GNU and Artistic License.
The GNU General Public License provides a free and open source software to its users. Any program derived under GNU licensed source code must have same type of license.
The Artistic license states that a package derived from Perl must clearly highlights the modifications made in it. The original module should be distributed along with the derived one. Above all the original author must be recognized as the owner of the package. Users should be able to distinguish between the original module and derived module.