Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Perl
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Interpreted programming language first released in 1987}} {{Other uses|Perl (disambiguation)}} {{distinguish|PEARL (programming language)|Peril}} {{Use mdy dates|date=September 2014}} {{Infobox programming language | name = Perl | logo = perl-logo.svg | paradigm = [[Multi-paradigm]] | designer = [[Larry Wall]] | developer = Larry Wall | typing = [[Dynamic typing|Dynamic]] | influenced = [[CoffeeScript]],{{citation needed|date=January 2016}} [[Groovy (programming language)|Groovy]],{{citation needed|date=February 2016}} [[JavaScript]], [[Julia (programming language)|Julia]], [[LPC (programming language)|LPC]], [[PHP]], [[Python (programming language)|Python]], [[Raku (programming language)|Raku]], [[Ruby (programming language)|Ruby]], [[PowerShell]] | license = [[Artistic License|Artistic]] 1.0<ref name="artistic-1.0"/><ref name="artistic-1.0-git"/> or [[GNU General Public License]] version 1 or any later version<ref name="licensing"/> | website = {{URL|https://www.perl.org/|perl.org}} | wikibooks = Perl Programming | released = {{Start date and age|1987|12|18}}<ref name="perltimeline"/> | latest release version = {{Unbulleted list |5.40.0<ref>{{cite web |url=https://www.nntp.perl.org/group/perl.perl5.porters/2025/01/msg269454.html |title=Perl v5.40.1 is now available |access-date=2025-01-19 |publisher=www.nntp.perl.org}}</ref> / {{Start date and age|2025|01|18|df=yes}} |5.38.3<ref>{{cite web |url=https://www.nntp.perl.org/group/perl.perl5.porters/2025/01/msg269453.html |title=Perl 5.38.3 is now available |access-date=2025-01-19 |publisher=www.nntp.perl.org}}</ref> / {{Start date and age|2025|01|18|df=yes}} }} | latest preview version=5.41.13<ref>{{cite web|url= https://www.nntp.perl.org/group/perl.perl5.porters/2025/05/msg269950.html |title=Release announcement for perl v5.41.13 |access-date=2025-05-31 |publisher=www.nntp.perl.org}}</ref> / {{Start date and age|2025|05|29|df=yes}} <!-- | latest preview date=;<br/> alpha-02 of {{nowrap|Perl 7}}<ref>{{Cite web|title=Releases Β· atoomic/perl|url=https://github.com/atoomic/perl/releases|access-date=2021-02-05|website=GitHub|language=en|archive-date=September 7, 2020|archive-url=https://web.archive.org/web/20200907173355/https://github.com/atoomic/perl/releases|url-status=live}}</ref><ref>{{Cite web|title=Announcing Perl 7 - nntp.perl.org|url=https://www.nntp.perl.org/group/perl.perl5.porters/2020/06/msg257565.html|last1=X|first1=Sawyer|date=June 24, 2020|quote=We intend to release 7.0.0 within a year. However, I am setting the goal of releasing it before the end of this year [2020].|access-date=2021-02-05|website=www.nntp.perl.org|archive-date=November 25, 2020|archive-url=https://web.archive.org/web/20201125230437/https://www.nntp.perl.org/group/perl.perl5.porters/2020/06/msg257565.html|url-status=live}}</ref> / {{Start date and age|2020|09|24}} --> | influenced by=[[AWK]], [[BASIC]], [[C (programming language)|C]], [[C++]], [[Lisp (programming language)|Lisp]], [[sed]], [[Unix shell]]<ref>{{cite web|title=Programming is Hard, Let's Go Scripting...|last1=Wall|first1=Larry|author1-link=Larry Wall|date=December 12, 2007|url=https://www.perl.com/pub/2007/12/06/soto-11.html/|quote=All language designers have their occasional idiosyncracies. Iβm just better at it than most.|access-date=April 14, 2019|archive-date=July 28, 2017|archive-url=https://web.archive.org/web/20170728023959/http://www.perl.com/pub/2007/12/06/soto-11.html|url-status=live}}</ref> | programming language=[[C (programming language)|C]] | operating system=[[Cross-platform software|Cross-platform]] | file ext=.plx, .pls, .pl, .pm, .xs, .t, .pod, .cgi, .psgi }} '''Perl''' is a [[High-level programming language|high-level]], [[General-purpose programming language|general-purpose]], [[Interpreter (computing)|interpreted]], [[dynamic programming language]]. Though Perl is not officially an acronym,<ref>{{cite web |url=http://learn.perl.org/faq/perlfaq1.html#Whats-the-difference-between-perl-and-Perl |title=General Questions About Perl |last=Lapworth |first=Leo |publisher=Perl.org |work=Perl FAQ |access-date=February 24, 2012 |archive-date=May 28, 2013 |archive-url=https://web.archive.org/web/20130528001715/http://learn.perl.org/faq/perlfaq1.html#Whats-the-difference-between-perl-and-Perl |url-status=live}}</ref> there are various [[backronym]]s in use, including "Practical Extraction and Reporting Language".<ref>{{cite web |url=http://linux.die.net/man/1/perl |title=perl(1): Practical Extraction/Report Language - Linux man page |publisher=Linux.die.net |access-date=2013-07-23 |archive-date=June 3, 2013 |archive-url=https://web.archive.org/web/20130603152544/http://linux.die.net/man/1/perl |url-status=live}}</ref> Perl was developed by [[Larry Wall]] in 1987<ref name="long"/> as a general-purpose [[Unix]] [[scripting language]] to make report processing easier.<ref name="sheppard00">{{cite web |url=http://www.perl.com/pub/2000/10/begperl1.html |title=Beginner's Introduction to Perl |last=Sheppard |first=Doug |date=2000-10-16 |publisher=dev.perl.org |access-date=2011-01-08 |archive-date=June 5, 2011 |archive-url=https://web.archive.org/web/20110605130400/http://www.perl.com/pub/2000/10/begperl1.html |url-status=live}}</ref><ref name="long"/><ref name=":0">{{Cite web |title=Larry Wall, the Guru of Perl |url=https://www.linuxjournal.com/article/3394 |access-date=2023-08-30 |website=Linux Journal}}</ref> 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.<ref name=":0"/> 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 (programming language)|Raku]].<ref>{{cite web |url=https://www.perl.org/about.html |title=About Perl |publisher=perl.org |quote="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". |access-date=2013-04-20 |archive-date=November 6, 2015 |archive-url=https://web.archive.org/web/20151106051931/https://www.perl.org/about.html |url-status=live}}</ref><ref>{{cite web |url=https://github.com/Raku/problem-solving/blob/master/solutions/language/Path-to-Raku.md |title=Path to Raku |publisher=GitHub |quote=This document describes the steps to be taken to effectuate a rename of Perl 6 to Raku |access-date=2021-01-14 |archive-date=November 12, 2020 |archive-url=https://web.archive.org/web/20201112035821/https://github.com/Raku/problem-solving/blob/master/solutions/language/Path-to-Raku.md |url-status=live}}</ref> 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 (programming language)|C]], [[Unix shell|sh]], [[AWK]], and [[sed]].<ref name="perltimeline">{{cite web |url=http://history.perl.org/PerlTimeline.html |title=The Timeline of Perl and its Culture (v3.0_0505) |last1=Ashton |first1=Elaine |year=1999 |access-date=March 12, 2004 |archive-date=January 11, 2013 |archive-url=https://web.archive.org/web/20130111100906/http://history.perl.org/PerlTimeline.html |url-status=live}}</ref> It provides text processing facilities without the arbitrary data-length limits of many contemporary [[List of Unix commands|Unix command line tools]].<ref name="programmingperl2">{{cite book |title=Programming Perl, Third Edition |date=July 2000 |publisher=[[O'Reilly Media]] |isbn=978-0-596-00027-1 |last1=Wall|first1=Larry|author-link1=Larry Wall|last2= Christiansen|first2=Tom|last3=Orwant|first3=Jon}}</ref> Perl is a highly [[Expressive power (computer science)|expressive]] programming language: source code for a given algorithm can be short and highly compressible.<ref>{{Cite web|title=How programs are measured |url=https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|access-date=2020-10-05|website=Computer Language Benchmarks Game, Debian.net|archive-date=July 12, 2020|archive-url=https://web.archive.org/web/20200712000728/https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code|url-status=live}}</ref><ref>{{Cite web|title=RSA in 3 lines of perl - Everything2.com|url=https://everything2.com/title/RSA+in+3+lines+of+perl|access-date=2020-10-05|website=everything2.com|archive-date=October 8, 2020|archive-url=https://web.archive.org/web/20201008120935/https://everything2.com/title/RSA+in+3+lines+of+perl|url-status=live}}</ref> Perl gained widespread popularity in the mid-1990s as a [[Common Gateway Interface|CGI scripting]] language, in part due to its powerful [[regular expression]] and [[String (computing)|string]] [[parsing]] abilities.<ref>{{cite web |url=http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |title=Language Evaluations |quote=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. |access-date=January 30, 2015 |archive-date=March 10, 2015 |archive-url=https://web.archive.org/web/20150310123855/http://www.catb.org/esr/writings/taoup/html/ch14s04.html#perl |url-status=live}}</ref><ref>{{cite web |url=http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |title=You Used Perl to Write WHAT?! |date=January 24, 2008 |quote=perl has always been the go-to language for any task that involves pattern-matching input |access-date=February 4, 2015 |archive-date=February 4, 2015 |archive-url=https://web.archive.org/web/20150204175543/http://www.cio.com/article/2437271/developer/you-used-perl-to-write-what--.html |url-status=live}}</ref><ref>{{cite web |url=http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |title=The Importance of Perl |quote=Perl's unparalleled ability to process text... |access-date=February 4, 2015 |archive-url=https://web.archive.org/web/20150202010003/http://archive.oreilly.com/pub/a/oreilly/perl/news/importance_0498.html |archive-date=February 2, 2015 |url-status=dead |df=mdy-all}}</ref><ref name="roderick02">{{cite book |title=Advanced Linux Networking |url=https://archive.org/details/linux00libg_999 |url-access=limited |date=June 21, 2002 |publisher=Addison-Wesley Professional |isbn=978-0-201-77423-8 |page=[https://archive.org/details/linux00libg_999/page/n595 594] |last1=Smith |first1=Roderick W.}}</ref> In addition to CGI, Perl 5 is used for [[System administrator|system administration]], [[Computer network programming|network programming]], finance, [[bioinformatics]], and other applications, such as for [[graphical user interface]]s (GUIs). It has been nicknamed "the Swiss Army chainsaw<!-- WARNING: This should read *chainsaw*, not knife. See the reference. --> of scripting languages" because of its flexibility and power.<ref>{{cite web |url=http://www.perl.com/pub/a/2000/10/begperl1.html |title=Beginner's Introduction to Perl |last=Sheppard |first=Doug |date=2000-10-16 |publisher=[[O'Reilly Media]] |access-date=2008-07-27 |archive-date=June 4, 2008 |archive-url=https://web.archive.org/web/20080604140740/http://www.perl.com/pub/a/2000/10/begperl1.html |url-status=live}}</ref> 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.<ref name="leonard98">{{cite news |url=http://www.salon.com/1998/10/13/feature_269/ |title=The joy of Perl |last=Leonard |first=Andrew |work=[[Salon.com]] |access-date=2012-06-05 |archive-date=July 6, 2012 |archive-url=https://web.archive.org/web/20120706094345/http://www.salon.com/1998/10/13/feature_269/ |url-status=live}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)