The Register® — Biting the hand that feeds IT

Feeds

Perl programming language marks 25th birthday

Munging data since 1987

Agentless Backup is Not a Myth

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." ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

EXTERIOR: DAGOBAH--DAY

With Yoda strapped to his back, Luke climbs up one of the

many thick vines that grow in the swamp until he reaches the

Dagobah statistics lab. Panting heavily, he continues his

exercises--grepping, installing new packages, logging in as

root, and writing replacements for two-year-old shell scripts

in Python.

YODA: Code! Yes. A programmer's strength flows from code maintainability.

But beware of Perl. Terse syntax... more than one way to do it...

default variables. The dark side of code maintainability are they.

Easily they flow, quick to join you when code you write. If once

you start down the dark path, forever will it dominate your destiny,

consume you it will.

LUKE: Is Perl better than Python?

YODA: No... no... no. Quicker, easier, more seductive.

LUKE: But how will I know why Python is better than Perl?

YODA: You will know. When your code you try to read six months from

now.

18
2

The internet's Cobol?

I started using Perl in the late 90's and still continue to do so, today - though our relationship is by no means exclusive (yes, I do compile other languages). There are better languages for a lot of the stuff I use it for, but no other single language that can do ALL the stuff I do in Perl, with the ease (through familiarity) and third-party additions I can simply install.

Perls greatest benefit is CPAN. If any language wants an example of how to make libraries integrate with little effort for the user and less fuss they should sit back and watch as Perl modules automatically download, work out their dependencies, download them without further help, build the whole mess, test it's installed properly and then let you get on with your job..

The code may look ugly, it may not have a de-facto IDE, it may be interpreted, you do need to use semi-colons all over the place. But it's well documented, there are plenty of examples (mostly working!) and it's easy to get started. Here's looking forward to another 25 years.

10
0
Anonymous Coward

Re: Occasionally?

Just because Perl allows people to write unmaintenable code doesn't make it an unavoidable "feature" of the language. Anyone with enough discipline to be called a half-decent programmer can and will write perfectly maintainable Perl code.

As much as craftsmen like to accuse their tools, in the end it's always their fault for not using a tool properly.

8
0

More from The Register

SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry