Perl (of course!)

Daniel P. Faigin faigin at aerospace.aero.org
Thu Nov 30 07:42:07 AEST 1989


In article <5262 at omepd.UUCP> merlyn at iwarp.intel.com (Randal Schwartz) writes:
>This is *exactly* the audience for Perl.  When an "easy" combination of awk
>and sed doesn't do it, but writing a C program (under multiple architectures)
>is overkill, Perl seems to fit in quite nicely.  It's also a lot more
>flexible at launching and managing multiple processes than the same thing in
>awk or sh.  It also has this little report generator built in that I've made
>minimal use of, but was the original intent of Perl.

It's time to tell a story. Not that many people know why perl even exists (or
that it was originally to be called gloria, in honor of Larry's wife). 

A long time ago, in a company that, sadly, no longer exists as it was, there
existed a project. This project needed a good configuration management system.
Now RCS is all fine and good, but it doesn't support Software Change Reports,
Problem Reports, et al. The CM system also had to support running on 6
different Vax split over two coasts.

Now, the system guru on this project was a nice fellow by the name of Larry
Wall. He was my officemate. Larry decided that the best solution of the
problem would be to use the news system to handle problem reports. In order to
do this, he had to make some modifications to inews to support appending to
articles (for approvals) and to support synchronization of article numbers.
People could read problem reports with Rn, and (A)pprove or (D)isapprove them.

Now, as with any CM system, reports are a necessity. Larry began to look at
the problem. The problem was that awk couldn't handle going through multiple
directories and multiple files, as are found in the news spool directory. Nor
could it follow pointers from one file to another. Nor could it produce the
nice reports that were required. Now, programmers are lazy and impatient
(Larry's basic idiom). Larry wanted the easy solution, but awk simply wasn't
it. He needed to get the reports (we were under deadline), but there was no
easy way out. Hence, perl was born.

Now, Perl version 1 was different in many ways from the perl of today. It used
a different regular expression package for one thing (which bit me, as I
developed many scripts that broke when Larry started on the net version). But
it was perl. 

We knew, from the beginning that Perl wasn't portable, primarily because of
its dependence on yacc (this was before bison was available, sometime in early
1986). We also knew it would be big.

Larry later left the project to be the guru of R&D, which is where the
beginning of the bells and whistles came into perl. This is also where Rn was
ripped into shreds into anticipation of a future rewrite, which has been 3
years in the making. Larry got a phone call one day, and heard the magic
words... "Voyager" and "JPL". He left our happy home, and went to JPL, where
he has continued to enhance Perl.

You all know the story from there. 

>| You *do* know that Perl is a complete programming language, right?
>| Powerful enough that Larry Wall is supposedly writing the next version
>| of RN in it?  (I've never had the guts to ask him about this one,
>| myself; I'd really rather not know)

Yeh, he's planning to do it. When is another question. Now that he's added the
fourth wall to his house, he may have some more time. Remember, programmers
are lazy and impatient. Perl allows Larry to prototype the new Rn faster than
writing it in C, and it can handle the text manipulation easier. Hence, he
uses it.

You should just see some of his ideas.

Daniel (one of the three people there at perl's birth)
Work :The Aerospace Corp M1/055 * POB 92957 * LA, CA 90009-2957 * 213/336-8228
Home :9758 Natick Avenue * Sepulveda CA 91343 * 818/892-8555 
Email:faigin at aerospace.aero.org (or) Faigin at dockmaster.ncsc.mil               
Voicemail: 213/336-5454 Box#3149 * "Take what you like, and leave the rest"   



More information about the Alt.sources.d mailing list