Aviva Directory » Computers & Internet » Programming » Perl

The focus of this category is on Perl, a high-level, general-purpose, interpreted, dynamic programming language designed by Larry Wall and first released in 1987.

Originally, the language was going to be named Pearl, but it was discovered that there was already a programming language by that name, so the "a" was omitted. In other words, Perl is not an acronym.

As a programmer for Unisys, Wall was working on a bug-reporting system, and the AWK language wasn't working out for him, so he began designing a new language. He released the first version of Perl to a newsgroup later that year, but the language was greatly expanded over the following years. By 1991, Perl was in its fourth version, and Perl 5 was released in 1995, adding support for Microsoft Windows and several other platforms.

Today, Perl 5 is still an active programming language, while Perl 6, also known as Raku, is considered a sister language. Generally, Perl refers to Perl 5, but it may also be applied to Perl 6.

Perl uses natural language elements, words that are used in common English language. An interpreter converts the program, written in a high-level language (English) to low-level (binary) language that the computer can understand. That is why it is referred to as an interpreted programming language. Perl code can run as-is, without a compilation state that creates a non-portable executable program. Traditional compilers convert programs into machine language. When a Perl program is run, it is first compiled into a byte code, which is then converted, as the program runs, into machine instructions. This differs from most versions of C or C++, which are compiled directly into a machine-dependent format.

Originally designed for text manipulation, Perl is now used for a wide range of tasks, including system administration, web development, network programming, GUI development, and others.

Perl 5 is open-sourced and licensed under an Artistic License or the GNU General Public License.

Commonly acknowledged as advantages to Perl are that it is stable, and produces cross-platform programs. It takes the best features from AWK, C, C++, and Lisp, as well as sed and the Unix shell, which were influences to the Perl programming language. Its database integration interface supports third-party databases, like MySQL, Oracle, Postgres, Sybase, and others, and it works well with HTML, XML, and other markup languages. It supports Unicode, as well as procedural and object-oriented programming. It interfaces with C/C++ libraries through XS or SWIG, and the Perl interpreter can be embedded into other systems. Perl is also extensible, with thousands of third-party modules.

Also designed by Larry Wall, Perl 6 was designed, not as an upgrade to Perl 5, but as a sister language, yet in the Perl family. Compatibility with Perl 5 was not a goal. Perl 6 was released in 2015, although its development began as early as 2000. Rakudo Perl 6 is a Perl 6 compiler made for the MoarVM, a virtual machine, as well as the Java Virtual Machine. Currently, it is the only Perl 6 compiler in active development.

A significant difference between Perl 5 and Perl 6 is that Perl began as a specification, which means that Perl 6 can be reimplemented if needed and that programmers don't have to read the source code for the ultimate authority on any given feature.

Perl 6 was influenced by Perl 5, as well as Haskell, JavaScript, Ruby, and Smalltalk. It has also been released under the Artistic License or GNU General Public License. In 2019, Perl 6 was officially renamed Raku.

Both Perl 5 and Perl 6/Raku are cross-platform languages.

Either of these languages is appropriate for this category, or its subcategory, along with any other dialects or interpretations that may be developed, tutorials, user groups, or other resources relating to Perl.





Recommended Resources

Search for Perl on Google or Bing