Perl passes the 25 year mark
Perl, the language which started life as an attempt to replace the sed and awk Unix commands, is now over 25 years old; the first Perl, Perl 1.0, was published on Usenet on 18 December 1987.
At that time, Larry Wall, Perl's creator, was creating a language to take on many of the common tasks that Unix users had been using shell, sed, awk, tail and cut and other commands, to complete. In what could be considered a counter-movement to Unix's "one command does one thing well" culture, Wall's Perl began pulling in numerous elements of Unix command capabilities into a single language. This had the perverse effect of often being quicker to write, with no switching between some quite idiosyncratic tools. And it often was quicker to run as well, as a complex shell script may execute dozens of separate commands as processes, whereas Perl ran them all with one larger interpreter.
Over the following years, Perl evolved, steadily improving its handling of regular expressions and support for binary data, reaching the well documented and maintained Perl 4. In 1994, Perl 5.0 was released as a complete rewrite of Perl, with many new language features that turned what was a domain-specific language into a general purpose programming language. Objects, references and modules made Perl 5 a much more substantial and useful language with a solid foundation for being extended in modules.
Modules would also lead to the creation of CPAN, the Comprehensive Perl Archive Network, which provided the Perl community with a distributed repository of Perl modules; today it hosts more than 25,000 extensions. Over the next years, Perl 5 would evolve into a web application language with the arrival of CGI.pm, be ported to Windows and other operating systems, and acquire 64-bit support, Unicode strings and large files. Perl 5 has continued to be developed and enhanced to this day.
But, back in 2000, Larry Wall asked for suggestions for features for a new version of Perl. This was the start of the Perl 6 story. Over the next twelve years, Perl 6 has moved from paper design to academic prototypes and even to the creation of Raduko Perl, a mostly complete implementation of Perl 6 with the parrot virtual machine.
But as yet, there is no final Perl 6 and it has changed direction in design a number of times. This doesn't mean that Perl 5 has stood still; since the arrival of Perl 5.10 on the 20th anniversary of Perl in 2007, Perl has been receiving monthly updates. A "Modern Perl" movement, which is based around the Perl 5 foundation and current best practices for delivering high quality Perl code, has also emerged. The detailed history of Perl code is described in perlhist, the Perl history file and a history of Perl, the community, has been written up by Mark Keating for the Perl Foundation.
Although for many, Perl has been overtaken, at least in the popularity stakes, by Python, Ruby, and other newcomers, it still has a vibrant, if quirky, community that is passionate about its tool of choice and is in many ways a reference model of how language communities can evolve. The language itself is in rude health and, thanks to solid Perl 5 maintenance, CPAN, and "Modern Perl" practices, has gone a long way to removing the reputation Perl has had of being a write-only language. And, unlike many languages, Perl still has a new version of the language to look forward to.
(fab)