Perl: About

Perl

Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6. Perl 6 is a sister language, part of the Perl family, but not intended as a replacement for Perl 5. It is its own language with its own seperate development team. Its existence has no significant impact on the continuing development of Perl 5. Perl 6 does have libraries that can call Perl 5 code and vice versa.

Perl was originally developed by Larry Wall in 1987 while working as a programmer at Unisys as a general-purpose Unix scripting language to make report processing easier. Though Perl is said to not officially be an acronym, it is often referrred to as such as "Practical Extraction and Reporting Language." According to Wall, Perl has two slogans: a) "There's more than one way to do it" (i.e. TMTOWTDI) and 2) "Easy things should be easy and hard things should be possible."

Perl has also be referred to as "the Swiss Army chainsaw of scripting languages" and the "duct tape that holds the Internet together."

Perl borrows features from C, shell script (sh), AWK, sed Basic, and Lisp. Many earlier computer languages, such as Fortran and C, aimed to make efficient use of computer hardware. In contrast, Perl was designed so that programmers could write programs more quickly and easily often at the cost of greater CPU and memory requirements.

Examples of Perl uses and applications

  • System administration tasks/scripts
  • "Data munging," i.e. converting or processing large amounts of data for tasks such as creating reports
  • Manipulation of text files
  • cPanel
  • Movable Type
  • Slash
  • Priceline.com
  • Craigslist
  • IMDb
  • Slashdot
  • DuckDuckGo
  • Ticketmaster
  • Database integration, e.g. Oracle, Sybase, Postgres, MySQL
  • Perl Web frameworks, such as Catalyst
  • Extendible via over 25,000 open source modules available from the Comprehensive Perl Archive Network (CPAN)

Perl 5 runs on over 100 platforms from portables to mainframes and is suitable for both rapid prototyping and large scale development projects.

Versions of Perl

  • Strawberry Perl
  • ActivePerl
  • Visual Perl