Home * Programming * Languages * Perl
FOSDEM_2015_Larry_Wall_and_Camelia_the_Perl6_logo.jpg

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.
Larry Wall and Camelia at FOSDEM 2015 [1]

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 [2]. 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 [3]. Perl 6 features object-oriented programming including generics, roles and multiple dispatch, functional programming primitives, and lazy evaluation [4]. 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 [5]. Perl 6 first appeared on December 25, 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) [6].

Perl and Chess

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

See also


Selected Publications

[11]

1990 ...

2000 ...

2010 ...


Forum Posts


External Links

Wikipedia

Chess


References

  1. ^ Larry Wall and Camelia at FOSDEM 2015, Image by Klapi, February 01, 2015, CC BY-SA 4.0, Wikimedia Commons, Perl 6 from Wikipedia
  2. ^ Perl from Wikipedia
  3. ^ State of the Onion 2000 - Perl.com
  4. ^ The Perl 6 Programming Language
  5. ^ Perl 6 from Wikipedia
  6. ^ Sigil (computer programming) from Wikipedia
  7. ^ Perl by Hugh S. Myers
  8. ^ Chess-Play-0.05 by Giuliano Ippoliti, CPAN, April 25, 2009
  9. ^ Chess-0.6.2 - a framework for writing chess programs with Perl by Brian Richardson, CPAN, July 31, 2007
  10. ^ List: perl-chess - lists.perl.org
  11. ^ The Perl.org Online Library

What links here?


Up one Level