Perl

is a family of [|high-level], [|general-purpose], [|interpreted], [|dynamic programming languages]. Perl was created by [|Larry Wall] in 1987. The overall structure of Perl derives broadly from its implementation language, C. Perl is [|procedural] in nature, with [|variables], [|expressions], [|assignment], [|brace-delimited blocks], [|control structures], and [|subroutines]. || toc =Perl 5= [|Perl 5] gained widespread popularity in the late 1990s as a [|CGI] [|scripting language], in part due to its unsurpassed [|regular expression] and [|string] [|parsing] abilities. Perl 5 added features that support complex data structures, [|first-class functions] ([|closures] as values), and an [|object-oriented programming] model known as blessing. These include [|references], packages, class-based [|method dispatch], and [|lexically scoped] variables, along with [|compiler directives].  =Perl 6= The [|Perl 6] design process was first announced on July 19, 2000, on the fourth day of [|that year's Perl Conference], by Larry Wall in his State of the Onion 2000 talk. Perl 6 features object-oriented programming including generics, [|roles] and [|multiple dispatch], [|functional programming primitives], and [|lazy evaluation]. In the spirit of making the "easy things easy and hard things possible", Perl 6 retains the blessing model and supplies a more robust object model for the common cases. The break in compatibility was mandated from the start of the project, and immediately allowed some of the changes that Larry Wall had suggested in his initial speech. Perl 6 first appeared on December 25, 2015.
 * Home * Programming * Languages * Perl**
 * [[image:FOSDEM_2015_Larry_Wall_and_Camelia_the_Perl6_logo.jpg width="320" link="https://commons.wikimedia.org/wiki/File:FOSDEM_2015_Larry_Wall_and_Camelia_the_Perl6_logo.jpg"]] ||~ || **Perl**,
 * [|Larry Wall] and [|Camelia] at [|FOSDEM 2015] ||~ ||^ ||

=Rakudo Perl= [|Rakudo Perl 6] is a specific implementaion of Perl 6, a compiler targeting the [|MoarVM].

=Variables= In Perl [|Variables] are marked with leading [|sigils]. Larry Wall adopted [|shell scripting's] use of sigils for his Perl programming language. However, as Perl is a dynamically typed language, the sigils specify not fine-grained data-types like strings and integers, but the more general categories of scalars (using a prefixed "$"), arrays (using "@"), hashes (using "%"), and subroutines (using "&"). Perl 6 introduces secondary sigils, or twigils,[3] to indicate the scope of variables. Prominent examples of twigils in Perl 6 include "^", used with self-declared formal parameters ("placeholder variables"), and ".", used with object attribute accessors (i.e., instance variables).

=Perl and Chess= There are various chess tools and frameworks available written in Perl, such as PGN and EPD tools by Hugh S. Myers, //Chess-Play// by Giuliano Ippoliti , and //Chess-0.6.2//, a framework for writing chess programs with Perl by Brian Richardson , and much more to find in [|CPAN].

=See also=
 * Python

=Selected Publications=

1990 ...

 * [|Randal L. Schwartz], [|Larry Wall] (**1991**). //[|Programming Perl]//. [|O'Reilly Media]
 * [|Randal L. Schwartz] (**1993**). //[|Learning Pearl]//. [|O'Reilly Media]

2000 ...

 * [|Damian Conway] (**2000**). //[|Object Oriented Perl: A Comprehensive Guide to Concepts and Programming Techniques]//. [|Manning Publications]
 * [|Simon Cozens], [|Peter Wainwright] (**2000**). //[|Beginning Perl]//. [|Wrox Press]
 * [|Simon Cozens] (**2001**). //[|Perl 5 Internals]//. NetThink
 * [|Rob Nagler] (**2004**). //[|Extreme Perl]//.
 * [|Damian Conway] (**2005**). //[|Perl Best Practices]//. [|O'Reilly Media]
 * [|Peter Wainwright] (**2005**). //[|Pro Perl]//. [|Springer]

2010 ...

 * [|Randal L. Schwartz], [|brian d foy], [|Tom Phoenix] (**2011**). //[|Learning Pearl]//. 6th edition, [|O'Reilly Media]
 * [|Tom Christiansen], [|brian d foy], [|Larry Wall], [|Jon Orwant] (**2012**). //[|Programming Perl]//. 4th edition, [|O'Reilly Media]
 * [|chromatic] (**2012**). //[|Modern Perl]//.

=Forum Posts=
 * [|Web Based Chess Server] by [|wombat], [|PerlMonks - The Monastery Gates], September 15, 2000
 * [|Chess engine in Perl?] by Steffen Jakob, CCC, March 28, 2004
 * [|Chess and perl] by Joshua Shriver, CCC, March 03, 2006
 * [|Announce: Rakudo Star Release 2016.10] by [|Steve Mynott], October 23, 2016

=External Links= > [|Perl 6 Design Documents] > [|Perl 6 Examples]
 * [|The Perl Programming Language - www.perl.org]
 * [|The Perl.org Online Library]
 * [|The Perl 6 Programming Language]

Wikipedia

 * [|Perl from Wikipedia]
 * [|Perl 5 version history from Wikipedia]
 * [|Perl 6 from Wikipedia]
 * [|Perl language structure from Wikipedia]
 * [|Perl Foundation from Wikipedia]
 * [|Strawberry Perl from Wikipedia]
 * [|Perl DBI from Wikipedia]

Chess

 * [|Perl] by Hugh S. Myers
 * [|Search "Chess"] in [|CPAN]
 * [|Chess-0.6.2 - a framework for writing chess programs with Perl] by Brian Richardson, [|CPAN], July 31, 2007
 * [|Chess-Play-0.05] by Giuliano Ippoliti, [|CPAN], April 25, 2009
 * [|Chess-PGN-EPD-0.31] by Hugh S. Myers, [|CPAN], August 30, 2012
 * [|Chess-PGN-Extract-0.02] by Mitsuhiro Nakamura, [|CPAN], November 07, 2014

=References= =What links here?= include page="Perl" component="backlinks" limit="60"
 * Up one Level**