Perl is a high-level , general-purpose,interpreted ,dynamic programming language . It was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier . It borrows features from other programming languages including C , shell scripting , AWK and sed . The language provides powerful text processing facilities without the arbitrary data length limits of many contemporary Unix tools , facilitating easy manipulation of text files .Perl gained wide spread popularity in the late 1990s as a CGI scripting language , in part due to its parsing abilities , and the Perl 6 will be released in the following days .In addition to CGI , Perl is used for graphics programming,system administration , network programming ,finance , bioinformatics , and other applications .
Perl is a general-purpose programming language originally developed for text manipulation , but as of 2010 is used for a wide range of tasks including system administration , web development ,network programming ,games , bioinformatics ,and GUI development . It is intended to be practical(easy to use , efficient , complete) rather than beautiful(tiny ,elegant , minimal ) . Its major features include support for multiple programming paradigms , reference counting memory management ,built-in support for text processing , and a large collection of third-party modules .
The overall structure of Perl derives broadly from C . Perl is procedural in nature , with variables , expressions ,assignment statements ,brace-delimited blocks ,control structures , and subroutines . It also takes features from shell programming . All variables are marked with leading sigils , which unambiguously identify the data type of the variable in context . Importantly , sigils allow variables to be interpolated directly into strings . Perl has many built-in functions that provides tools often used in shell programming such as sorting , and calling on system facilities . As the development of the core language , Perl 5 added features that support complex data structures ,first-class functions , and an object-oriented programming model . These include references , packages,class-based method dispatch , and lexically scoped variables , along with compiler directives. A major additional features introduced with Perl 5 was the ability to package code as reusable modules . To sum up , all version of Perldo automatic data-typing and automatic memory-management . The interpreter knows the type and storage requirements of every data object in the program ;it allocates and frees storage for them as necessary using reference counting .
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 improvements in compiler technology . It has many features that ease the task of the programmer at the expense of greater CPU and memory requirements . These include automatic memory management ; dynamic typing ; strings , lists , and hashes ; regular expressions ; introspection ;and an eval() function . It follows the theory of "no built-in limits” , and idea similar to the Zero One Infinity rule .
Perl has many and varied applications ,compounded by the availability of many standard and third-party modules . However , it’s often used as a glue language ,typing together systems and interfaces that were not specifically designed to interoperate , and for "datamunging” , that is ,converting or processing large amounts of data for tasks such as creating reports . In additions ,it’s also widely used in finance and in bioinformatics , where it is valued for rapid application development and deployment and for its capability to handle large data-sets .
Besides , Perl is widely favored for database applications . Its text-handing facilities are useful for generating SQL queries ; arrays ,hashes , and automatic memory management make it easy to collect and process the returned data .