Subjects covered include:
- Getting started with Perl Language
- Interpolation in Perl
- True and false
- Dates and Time
- Control Statements
- Debug Output
- File I/O (reading and writing files)
- Reading a file's content into a variable
- Strings and quoting methods
- Split a string on unquoted separators
- Object-oriented Perl
- Exception handling
- Regular Expressions
- XML Parsing
- Perl one-liners
- Special variables
- Packages and modules
- Install Perl modules via CPAN
- Easy way to check installed modules on Mac and Ubuntu
- Pack and unpack
- Perl commands for Windows Excel with Win32::OLE module
- Simple interaction with database via DBI module
- Perl Testing
- Attributed Text
- GUI Applications in Perl
- Memory usage optimization
- Perl script debugging
- Installation of Perl
- Compile Perl cpan module sapnwrfc from source code
- Best Practices
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6.
Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions. Perl 6, which began as a redesign of Perl 5 in 2000, eventually evolved into a separate language. Both languages continue to be developed independently by different development teams and liberally borrow ideas from one another.
The Perl languages borrow features from other programming languages including C, shell script (sh), AWK, and sed; Wall also alludes to Basic and Lisp in the introduction to Learning Perl (Schwartz & Christiansen) and so on. They provide text processing facilities without the arbitrary data-length limits of many contemporary Unix commandline tools, facilitating manipulation of text files. Perl 5 gained widespread popularity in the late 1990s as a CGI scripting language, in part due to its then unsurpassed regular expression and string parsing abilities.
In addition to CGI, Perl 5 is used for system administration, network programming, finance, bioinformatics, and other applications, such as for GUIs. It has been nicknamed "the Swiss Army chainsaw of scripting languages" because of its flexibility and power, and also its ugliness. In 1998, it was also referred to as the "duct tape that holds the Internet together," in reference to both its ubiquitous use as a glue language and its perceived inelegance.
Larry Wall began work on Perl in 1987, while working as a programmer at Unisys, and released version 1.0 to the comp.sources.misc newsgroup on December 18, 1987. The language expanded rapidly over the next few years.
Perl 2, released in 1988, featured a better regular expression engine. Perl 3, released in 1989, added support for binary data streams.
Originally, the only documentation for Perl was a single lengthy man page. In 1991, Programming Perl, known to many Perl programmers as the "Camel Book" because of its cover, was published and became the de facto reference for the language. At the same time, the Perl version number was bumped to 4, not to mark a major change in the language but to identify the version that was well documented by the book.
When referring to the language, the name is normally capitalized (Perl) as a proper noun. When referring to the interpreter program itself, the name is often uncapitalized (perl) because most Unix-like file systems are case-sensitive. Before the release of the first edition of Programming Perl, it was common to refer to the language as perl; Randal L. Schwartz, however, capitalized the language's name in the book to make it stand out better when typeset. This case distinction was subsequently documented as canonical.
The name is occasionally expanded as Practical Extraction and Report Language, but this is a backronym. Other expansions have been suggested as equally canonical, including Wall's own Pathologically Eclectic Rubbish Lister which is in the manual page for perl. Indeed, Wall claims that the name was intended to inspire many different expansions.