Perl

Perl
ParadigmMulti-paradigm
Designed byLarry Wall
DeveloperLarry Wall
First appearedDecember 18, 1987; 36 years ago (1987-12-18)[1]
Stable release
  • 5.40.0[2] / 9 June 2024; 5 months ago (2024-06-09)
  • 5.38.2[3] / 29 November 2023; 11 months ago (2023-11-29)
Preview release
5.41.3[4] / 29 August 2024; 2 months ago (2024-08-29)
Typing disciplineDynamic
Implementation languageC
OSCross-platform
LicenseArtistic 1.0[5][6] or GNU General Public License version 1 or any later version[7]
Filename extensions.plx, .pls, .pl, .pm, .xs, .t, .pod, .cgi, .psgi
Websiteperl.org
Influenced by
AWK, BASIC, C, C++, Lisp, sed, Unix shell[8]
Influenced
CoffeeScript,[citation needed] Groovy,[citation needed] JavaScript, Julia, LPC, PHP, Python, Raku, Ruby, PowerShell

Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym,[9] there are various backronyms in use, including "Practical Extraction and Reporting Language".[10]

Perl was developed by Larry Wall in 1987[11] as a general-purpose Unix scripting language to make report processing easier.[12][11][13] Since then, it has undergone many changes and revisions. Perl originally was not capitalized and the name was changed to being capitalized by the time Perl 4 was released.[13] The latest release is Perl 5, first released in 1994. From 2000 to October 2019 a sixth version of Perl was in development; the sixth version's name was changed to Raku.[14][15] Both languages continue to be developed independently by different development teams which liberally borrow ideas from each other.

Perl borrows features from other programming languages including C, sh, AWK, and sed.[1] It provides text processing facilities without the arbitrary data-length limits of many contemporary Unix command line tools.[16] Perl is a highly expressive programming language: source code for a given algorithm can be short and highly compressible.[17][18]

Perl gained widespread popularity in the mid-1990s as a CGI scripting language, in part due to its powerful regular expression and string parsing abilities.[19][20][21][22] In addition to CGI, Perl 5 is used for system administration, network programming, finance, bioinformatics, and other applications, such as for graphical user interfaces (GUIs). It has been nicknamed "the Swiss Army chainsaw of scripting languages" because of its flexibility and power.[23] 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.[24]

  1. ^ a b Ashton, Elaine (1999). "The Timeline of Perl and its Culture (v3.0_0505)". Archived from the original on January 11, 2013. Retrieved March 12, 2004.
  2. ^ "Perl v5.40.0 is now available". www.nntp.perl.org. Retrieved June 11, 2024.
  3. ^ "Perl 5.34.3, Perl 5.36.3 and Perl 5.38.2 are now available". www.nntp.perl.org. Retrieved December 5, 2023.
  4. ^ "Release announcement for perl v5.41.3". www.nntp.perl.org. Retrieved August 29, 2024.
  5. ^ Cite error: The named reference artistic-1.0 was invoked but never defined (see the help page).
  6. ^ Cite error: The named reference artistic-1.0-git was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference licensing was invoked but never defined (see the help page).
  8. ^ Wall, Larry (December 12, 2007). "Programming is Hard, Let's Go Scripting..." Archived from the original on July 28, 2017. Retrieved April 14, 2019. All language designers have their occasional idiosyncracies. I'm just better at it than most.
  9. ^ Lapworth, Leo. "General Questions About Perl". Perl FAQ. Perl.org. Archived from the original on May 28, 2013. Retrieved February 24, 2012.
  10. ^ "perl(1): Practical Extraction/Report Language - Linux man page". Linux.die.net. Archived from the original on June 3, 2013. Retrieved July 23, 2013.
  11. ^ a b Cite error: The named reference long was invoked but never defined (see the help page).
  12. ^ Sheppard, Doug (October 16, 2000). "Beginner's Introduction to Perl". dev.perl.org. Archived from the original on June 5, 2011. Retrieved January 8, 2011.
  13. ^ a b "Larry Wall, the Guru of Perl". Linux Journal. Retrieved August 30, 2023.
  14. ^ "About Perl". perl.org. Archived from the original on November 6, 2015. Retrieved April 20, 2013. "Perl" is a family of languages, "Perl 6" is part of the family, but it is a separate language that has its own development team. Its existence has no significant impact on the continuing development of "Perl 5".
  15. ^ "Path to Raku". GitHub. Archived from the original on November 12, 2020. Retrieved January 14, 2021. This document describes the steps to be taken to effectuate a rename of Perl 6 to Raku
  16. ^ Wall, Larry; Christiansen, Tom; Orwant, Jon (July 2000). Programming Perl, Third Edition. O'Reilly Media. ISBN 978-0-596-00027-1.
  17. ^ "How programs are measured". Computer Language Benchmarks Game, Debian.net. Archived from the original on July 12, 2020. Retrieved October 5, 2020.
  18. ^ "RSA in 3 lines of perl - Everything2.com". everything2.com. Archived from the original on October 8, 2020. Retrieved October 5, 2020.
  19. ^ "Language Evaluations". Archived from the original on March 10, 2015. Retrieved January 30, 2015. Perl's strongest point is its extremely powerful built-in facilities for pattern-directed processing of textual, line-oriented data formats; it is unsurpassed at this.
  20. ^ "You Used Perl to Write WHAT?!". January 24, 2008. Archived from the original on February 4, 2015. Retrieved February 4, 2015. perl has always been the go-to language for any task that involves pattern-matching input
  21. ^ "The Importance of Perl". Archived from the original on February 2, 2015. Retrieved February 4, 2015. Perl's unparalleled ability to process text...
  22. ^ Smith, Roderick W. (June 21, 2002). Advanced Linux Networking. Addison-Wesley Professional. p. 594. ISBN 978-0-201-77423-8.
  23. ^ Sheppard, Doug (October 16, 2000). "Beginner's Introduction to Perl". O'Reilly Media. Archived from the original on June 4, 2008. Retrieved July 27, 2008.
  24. ^ Leonard, Andrew. "The joy of Perl". Salon.com. Archived from the original on July 6, 2012. Retrieved June 5, 2012.