Related topics
  • ,
  • ,
  • ,

Perl programming language marks 25th birthday

Munging data since 1987

Perl, the open source programming language used by developers and sysadmins to automate any number of text-wrangling and data-management tasks, celebrates its 25th birthday on Tuesday.

It was on December 18, 1987 that Larry Wall released Perl 1.0, posting the source code to the Usenet newsgroup comp.sources.misc.

Wall had begun developing the language while working as a programmer at Unisys, and had initially intended it to be a Unix scripting language in the vein of sh or awk. The language grew quickly, however, steadily adding new features in subsequent releases over the next few years.

By the time Perl 5 shipped in 1994, it had developed into a full-fledged general programming tool with support for modern language features including objects, references, modules, and rich native support for regular expressions.

Around the same time, web developers began adopting Perl as the go-to language for coding CGI scripts, an early method of developing web applications. The fact that Perl is an interpreted language made scripts quick to write and easy to debug, and its strong text-processing capabilities made it ideally suited for outputting complex HTML.

Perl has fallen out of favor for web development somewhat in recent years, its role having in large part been subsumed by more recent upstarts such as PHP, Python, and Ruby.

Critics often take a negative view of Perl's somewhat idiosyncratic syntax, which can make Perl programs difficult to maintain (even, sometimes, for the original developer, if much time has passed). As such, Perl has occasionally been described as a "write-only language".

Fans of the language deny the charges, however, arguing that Perl's flexible syntax and its overarching philosophy – "there's more than one way to do it" – are actually two of its greatest strengths.

And if web developers have shunned Perl of late, it still enjoys a healthy and loyal following among systems administrators, scientists, database admins, and anyone else who appreciates what Wall describes as "the three great virtues of a programmer": laziness, impatience, and hubris.

These days, Perl is available on almost every OS platform imaginable, ranging from Windows and OS X to Unix systems and IBM mainframes. For a while, Nokia even maintained a version of the language for System 60 smartphones.

Eighteen years after Perl 5 was released, it still remains the most popular version of the language, with the current stable version of that branch numbered 5.16.

Separately, however, a portion of the Perl community has moved on to Perl 6, a troubled rewrite that intentionally breaks compatibility with earlier versions. Despite good intentions and lofty goals, Perl 6 has remained in "active development" for over a decade, yet is still considered "not production ready".

In fact, when Perl 6 developers are asked when it will be released, the customary response has always been "Christmas" – though no one ever specifies which year. That jokey response is typical of the laid-back attitude of the Perl community, though, and Larry Wall clearly wouldn't have it any other way.

Wall continues to oversee Perl development as the language's official Benevolent Dictator for Life, and plans to do so through the development of Perl 6 and beyond, having said in a 2008 interview, "My vision of Perl's future is that I hope I don't recognize it in 20 years." ®

Sponsored: Driving business with continuous operational intelligence