A rag-tag band of altruists are committed to creating the best software money can't buy, Nick Langley reports.
What is it?
Perl is a high-level programming language derived from C, the Unix shell, and miscellaneous other sources. It is available free of charge over the Internet, and is shipped with some versions of Unix and other systems software.
Where did it originate?
Perl was created in 1987 by Larry Wall, but, like Linux, it has had input from literally thousands of enthusiasts over the years.
In some ways it is a relic of the pre-commercial Internet culture. The core development team, known as the Perl Porters, describe themselves as "a rag-tag band of highly altruistic individuals committed to producing better software for free than you could hope to purchase for money".
Perl is currently at version 5.6, showing evidence of its stability. Version 5.0 replaced Perl4 in 1994.
What's it for?
According to Tom Christiansen, author of the definitive Perl reference books (and co-author of Perl itself), Perl's process, file and text manipulation facilities make it particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking and Web programming.
"These strengths make it especially popular with system administrators and CGI script authors, but mathematicians, geneticists, journalists, and even managers also use Perl," says Christiansen. "Perl tries to be all things to all people, but nothing special to anyone," he adds.
What makes it special?
Perl is extraordinarily quick and flexible to use. It is developed, loved and cosseted by a bunch of enthusiasts with no interest in tying you up with licences, or forcing you to upgrade to bloated new releases you don't actually need.
How difficult is it?
The learning curve is gradual, and as long as you choose to make it. It is easy to begin working with Perl if you have got C and Unix experience, although almost any programming background will do.
The resources, compiled by the whole Perl user community, contain examples of just about anything you are likely to need. Most tasks only require a small subset of the Perl language, but there is a lot more to learn and use if you want.
What does it run on?
Unix and its derivatives, Windows, Dos, Apple Macintosh, OS/2, VMS and others.
Where is it used?
Despite the hippy aura that puts managers off freeware, Perl is widely shipped and used in the most respectable installations. The immense support resource provided by the user community more than makes up for the lack of an accountable commercial source - although commercial support is available for those who need it in writing, for example from The Perl Clinic (01483-862814, www. perlclinic.com).
Father of Perl Larry Wall with Mother of Pearl, the nacreous inner layer of oyster shells.
What else can we learn from the Father of Perl?
How to apply Larry Wall's "great" programmer virtues to anyone in IT
Few people know that
Perl E Gates is a distant relative of Bill.
What's coming up?
ISO or Ansi standard Perl - or perhaps not. Organisations backing Perl, such as Hewlett-Packard, think this would increase Perl's acceptability. Wall is implacably opposed. "I'll be certified before Perl is," he says.
The standard release of www.perl.com/CPAN/src/latest.tar.gz Perl (the one maintained by the Perl development team) is distributed in source code form. You get documentation from the same source. Cpan (the Comprehensive Perl Archive Network) contains source code, non-native ports, documentation and scripts.
There is a list of books on Perl available. O'Reilly & Associates (00-1-707-829-0515) publishes the definitive texts by Wall, Christiansen and Schwartz.
If all this seems too ad hoc - or your stomach for geeky in-jokes is limited - formal Perl training is available from mainstream organisations including QA Training and Sun Education.
There is a list of UK user groups on the www.Perl Mongers site.
While Perl can be used for almost anything, the hottest jobs are in the ISP/e-business sector. Much of the heat comes from the hot air they talk about money, so take your pick from the realistic £18,000 to £35,000 offered for Perl analyst programmers to the inflated £45,000 to £60,000 for consultants.