Now, I'm a system administrator by trade, and for this kind of critter, Perl is a godsend. Among many other things, Perl is the ultimate glue language for lazy persons, and sysadmins are nothing if not lazy and called upon to glue stuff together. So, my own path to Perl was one of looking for a tool to automate some stuff, discovering this funny language that had some connection to a humpy mammal and never looking back again. I guess that for many administrators out there, this is exactly the way they started using Perl.
However, I'm not so sure that this is the way other people start using Perl. We have, for example, heard of a prof in comp sci using Perl in the curriculum (however awkwardly), and this is not rolling into Perl by any definition. OK, said prof was probably using Perl because it is as good an introduction to general programming concepts as any other, but that post got me thinking about entry paths into Perl programming. Hence this meditation.
In a way, this also touches upon the way Perl is seen in the Real World out there (the one with three piece suits, scary monsters and marketing departments): is Perl still seen as the ultimate glue language - but only that - or has it grown beyond that.
I realise I'm stepping on thin ice here, but what's the monks take on this? How did you get into Perl and how does this tie into the perception of Perl in Life, the Universe and Everything?
CU
Robartes-
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Rolling into Perl
by Abigail-II (Bishop) on Oct 15, 2002 at 10:19 UTC | |
A division of a very large consumer electronics company wanted to have a website. All they had was a corrupted (ASCII) dump of a database, with lots of typos and a CD-ROM with images of their products. We had 160 hours to create a website. I created a large bunch of shell and AWK programs that would create the website out of the database dump and the CD-ROM. Running time: over 3 hours to generate about 500 html pages and a 1000 images. (They came with a new dump and new images the day before we went "life") After that, I was sure it could have been done better in a different language than sh and AWK (although you can do pretty amazing things in AWK if you know it well). Hence, I learned myself Perl. I had 4.036 on my computer, but after less than an hour playing with it, I wanted to use multidimensional arrays. Not supported by 4.036, so I joined the Usenet group, realized there was perl5, downloaded it, and started studying the manual pages. I've hardly used another language since. Abigail | [reply] |
by barrd (Canon) on Oct 15, 2002 at 12:27 UTC | |
That's almost exactly how I got into this as well, in the time of Spry Mosaic (with an external app to view JPEGs and you couldn't edit files and view locally, they had to be posted online before you could view the results). My boss, ever the impetuous sort went out and bought a machine for hosting, handed me a CD with a large collection of art/typographical stuff that we where involved with and said, "get this online by the end of the week". New change of underwear please... ;^) I used Perl (at the suggestion of a very good friend of mine) who had been using it for JANet projects for a number of years, and immediately 'fell for it', frankly I just loved it, it also saved my bacon as we got the site up and running within the time allowed by my boss. As it turns out the site was a roaring success, highly accoladed by the design magazines of the era and I stuck with the Web and programming Perl because of that project. | [reply] |
|
On reminiscing
by merlyn (Sage) on Oct 15, 2002 at 14:03 UTC | |
I was a big user of rn in the 80's. I worshiped Mr. Wall from afar. Anyone who could write a 30-page manpage and have it make sense was All Good. I saw Perl 1 go by in comp.sources.unix in 87. Pulled it down. Compiled it. Stared at the manpage a bit, and said "naah, I know awk better than this" (I was doing 1000-line awk programs!) and set it aside. But along came Perl 2. Downloaded it. Started playing with it. "Hey, this is pretty cool." And one by one, my new scripts were Perl rather than awk/sed/grep/m4/elisp. And so I started my advocacy role, which I still hold today. I snuck into comp.unix.questions and comp.unix.shell and started answering questions with shorter Perl answers than the complex shell scripts they were providing: an experience that I had had myself. I did it often enough that eventually people were tagging "No Perl Please!" at the end of each post. And then Larry announced on the Perl support mailing list (prior to comp.lang.perl) that he was working on Perl 3. It would be grand. You could reimplement rn in Perl, if you chose (but nobody ever did). And he asked if there were any volunteers that would be on the alpha test team (sort of a "perl 3 porters" group). I jumped at the chance, and provided porting advice and feedback on a few features that were missing or seemed awkward. (I invented the underscore stat handle and the (LIST)[SLICE] during that phase.) Then Perl 3 was released to the world. The online documentation went from 20 pages to 64 pages. Someone on usenet wondered if a book was in the works, now that Perl had gotten so much more complicated. I publicly offered my services to help with the online documentation, since I had had both a strong writing background (I had a whole shelf of books I'd ghost-written already) and was intimately familiar with Perl 3. A system admin at O'Reilly noticed my post, wrote me back privately saying "if you want to write a book, we should publish it", and put me in touch with Tim himself. After a brief discussion in email, I invited Larry to work with me on the book. After our first size-up meeting a few weeks later (in a Carrows restaurant in Salem, Oregon, continuing later to his brother's house), I scribbled out an outline, we refined it together, and a contract was signed. We worked on the book entirely by email and FTP, spending only about a half hour total on the phone. About a year later, I met Larry for the second time in Dallas in January 1990, where we signed over 200 copies of the new Camel book at the LISA conference. That's probably enough early history for this posting. | [reply] [d/l] |
by greenFox (Vicar) on Oct 16, 2002 at 03:00 UTC | |
Hats off to you merlyn! Sometime in the mid nineties I was a regular lurker on comp.unix.shell, I first noticed you for your "useless use of cat" awards (which I dutifully learnt from) then I started to look for your other posts. Since you seemed to know your stuff and you kept talking about this perl thing I decided I better learn about that too. I was a communications technician and unix wannabe with some rudimentary shell/sed/awk etc skills at the time, now I am full time Unix System Administrator and sometime perl programmer. Your posts do make a difference! -- | [reply] |
by Aristotle (Chancellor) on Oct 16, 2002 at 13:00 UTC | |
Makeshifts last the longest. | [reply] |
|
Re: Rolling into Perl
by fruiture (Curate) on Oct 15, 2002 at 10:07 UTC | |
I'm pretty sure that a lot (really a lot) of people roll into Perl via the Web and CGI area. I'm again linking to Idiotic Perl by davorg, which describes the many problems that arise from that fact. I, too, got into Perl after HTML and JS and wanted to add "dynamic stuff" and learn something cool. I bought a really bad book and wrote really bad Perl, but I had the luck to meet the "right people" and find the "right resources" (like PerlMonks and Oreilly Books). I do not only assume, i know that there are many, many people getting involved with Perl connected to learning HTML. This has at least one funny reason: SelfHTML, the most famous HTML Tutorial in Germany has a chapter called "Perl/CGI" and all the guys that are pointed to SelfHTML, for it is a really good HTML Tutorial and Ressource, at least notice that chapter and directly connect "Perl" with "CGI" and one day they have a look at it. And although the SelfHTML people have improved the "Perl/CGI" chapter a lot with version 8.0 (added -w and use strict and use CGI; plus added explanation that CGI is not Perl), they still have that dangerous headline "Perl/CGI" and the code is still rather dull. --http://fruiture.de | [reply] |
|
Re: Rolling into Perl
by sch (Pilgrim) on Oct 15, 2002 at 10:53 UTC | |
Like Robartes, I also found Perl through sysadm'ing. I'd been using the normal unix stuff: sed, awk, grep, etc and could roll some fairly mean scripts - but they were convoluted, horrible to debug and horrendous to maintain or modify as user requirements changed. And then I came across Perl - can't remember how, either through one of the Usenet groups or through an O'Reilly book - possibly the Camel. And all of a sudden, I'd found the perfect tool - I could do all of the stuff I wanted easily, the code was understandable, and I'd got access to all of this wonderful pre-existing code in the form of modules. And that's how it was for a good number of years, basic reporting and the odd occasional file system utility ( I can't believe how long I got by before I found out about the likes of File::Found). Now I'm trying to expand on my understanding of how it can be used for much more. Luckily I stumbled across PM a couple of months ago, and thanks to the great community here I'm increasing my understanding slowly but surely. I'm now running a website for my non-IT job, and I've learned stuff like CGI, SQL & the DBI interfaces, and I'm trying to get my head round OO, packages, scoping. I'm not certain that Perl is the perfect language for every situation, but I'm equally certain that there isn't such a beast but that Perl is coming pretty close for most of the stuff I'm involved in. | [reply] |
|
Re: Rolling into Perl
by rdfield (Priest) on Oct 15, 2002 at 11:27 UTC | |
I must point out that my initial searches for Perl help on google/deja-news always ended up with the answer in a post from Abigail. So this post also doubles up as a big, public "thank you" to Abigail. And a slightly smaller, but just as public, "thank you" to perrin for providing my first link to PerlMonks (from the mod_perl mailing list). rdfield | [reply] |
|
Re: Rolling into Perl
by bronto (Priest) on Oct 15, 2002 at 12:11 UTC | |
It was about 1995 or 1996... I was a Maths student and they introduced my to the World Wide Web internals... I wanted to create some dynamic application for the web, but I only knew Fortran at the time, which was not good for CGIs My Numerical Analysys teacher (and UNIX guru at the time) told me I could try Perl. What does it look like?, I asked; and he said Mmmmmh, there is some C in, and some sed and awk, and some shell... it's like a "the best of" collection I didn't like the description, but I decided to give it a try. I bought two books (one of which was the first edition of the Camel book) and I started. I found it funny, and I went on. Later I become a System Administrator, and I found it so useful that I can't think of many things I can do with another programming language for my job (but, sadly, there are some... :-( Ciao!
| [reply] |
|
Re: Rolling into Perl
by dreadpiratepeter (Priest) on Oct 15, 2002 at 13:15 UTC | |
The two books arrived in the same package. I picked up the camel book first; the 'Sed and Awk' book remains on my bookshelf to this day, unopened. Perl, and the philosophies around it map directly onto the way I think. I instantly fell in love with the language. 11 years later we are still happily married. -pete "Worry is like a rocking chair. It gives you something to do, but it doesn't get you anywhere." | [reply] |
|
Re: Rolling into Perl
by physgreg (Scribe) on Oct 15, 2002 at 11:18 UTC | |
So I started to use awk to generate statistics. This served me well for a while, then I wanted to automate my programs. Changing the parameters, running the program, and analysing the output seemed hard (if it is possible) in Awk. Then I noticed the Llama book on a colleagues desk. I worked through the first chapter, and soon was happy with what I could do. As a result of this, I got a freelance job coding CGI scripts, then moved into PHP/MySQL, and now I am back at Perl. | [reply] |
|
Re: Rolling into Perl
by Nomis52 (Friar) on Oct 15, 2002 at 11:13 UTC | |
My first exposure to Perl was when I wanted a guestbook for my website and ended up at MSA. I wanted to customise it a bit so I had to try and understand all that line noise.... I got the book CGI programming in C & Perl by Thomas Boutell out my uni library and soon realized there way a MUCH better way to do it. No more parsing form requests by hand! For some reason everytime I searched Google for a Perl problem this site came up. After a few visits I decided to join
Now before I get massively down-voted for mentioning MSA, the script was soon dumped and I wrote my own one using CGI, CGI::Application and HTML::Template :). Simon N | [reply] |
|
Re: Rolling into Perl
by jordanh (Chaplain) on Oct 15, 2002 at 13:34 UTC | |
Other estimates for this simple project by other programmers came in at taking many times longer and I had to learn Perl. Reminded me of an experience I'd had 15 years earlier. Management was considering purchasing an embedded systems product for resale. Our group would have to support the product if we bought the technology. We were given a large body of assembly code that was formatted according to the conventions of this oddball postfix assembler this group had written for themselves. We had some commercial cross development tools with an assembler. Management came to the senior programmers and asked if they could convert the oddball assembler to our assembler's format. They came up with huge estimates on the order of 2-4 weeks based on hand conversion. I was asked and I said that it looked like a job for SNOBOL, to which I had had some exposure back in school. I ran out and got Griswold's book on SNOBOL, for reference, and tore into it and had it done and tested (compared the checksum of the generated ROMs we made vs. the ones the other group had made) in 2 days. Ahhh... The right tools do make one's life easier. | [reply] |
by softworkz (Monk) on Oct 15, 2002 at 13:58 UTC | |
| [reply] |
|
Re: Rolling into Perl
by signal9 (Pilgrim) on Oct 15, 2002 at 14:45 UTC | |
Looking back, I'm pretty sure a little bird whispered the word 'Perl' into my ear. I had just gotten my first PC having not touched a computer since my Commodore VIC20 was retired so many years before. With BASIC interpreters being my only exposure to computing, I was still operating under the assumption that to own a computer was to program a computer, and I was going to need to get a book on a more modern language than BASIC. At this time, I didn't know about UNIX, or Linux, or really much of anything. The Camel was my first book from O'Reilly. I simply strolled into a nearby bookstore - and by 'nearby', I mean the nearest which was 2 hours away - and was immediately struck by an irresistable gravitational pull to that large, blue book. Several years later, I use Perl for fun and for profit, and I am fortunate to be able to slip into Camel-inspired reverie as often as I please for both personal and professional satisfaction. | [reply] |
|
Re: Rolling into Perl
by valdez (Monsignor) on Oct 15, 2002 at 11:04 UTC | |
It was 10th July 1995 when I bought my first Perl book from the bookshop where I worked :) I didn't know a single command of Perl, but wanted to learn it because I knew that it was perfect for web projects. Then in 1998 I was paid for my first work using it: production of 55000 html pages full of VAT rates comparisons from all european countries for an EU committee... Ciao, Valerio | [reply] |
|
Re: Rolling into Perl
by zigdon (Deacon) on Oct 15, 2002 at 15:06 UTC | |
Let's see. Back in '92 or so, I was running a Help desk for a small local ISP. The sysadmin then, asked me to learn Perl, so I could help with with some CGIs he wanted to write. However, at the time, I just didn't feel like it, and told him 'meh'. What a shame. Skip a few years forward, I was about to finish my EE degree, and started working for a large semiconductor companey as an engineer. When I started there, they gave me a Spark2, access to a whole room full of O'Reilly books, and two months, and said "Learn whatever you want". I picked up vi, emacs, awk, sed, and perl. We actually didn't use it for CGIs there, but for the "Extracting and Reporting" part of it :). A few years after that, when I got my first Sysadmin job (and was introduced to Linux), perl was everything I ever wanted it to be. I don't think I've written in any other language since. -- Dan | [reply] |
|
Re: Rolling into Perl
by Tardis (Pilgrim) on Oct 15, 2002 at 12:18 UTC | |
I talked to the technical director, asking him if he thought it would be useful if I learnt more C. "No" he said, "Learn Perl". So I did. Thanks Chris. | [reply] |
|
Re: Rolling into Perl
by feloniousMonk (Pilgrim) on Oct 15, 2002 at 16:47 UTC | |
At that time, I learned from Perl in a Nutshell only, and learned enough from that plus perldoc plus web info to know what I was doing and make a fairly safe formmail.pl replacement to fit the requirements. Then I went back to my C coding and forgot about the whole thing. Then, my local LUG had a Perl/Tk presentation, with a bit of background on learning Perl and such. I was inspired not only by Perl/Tk but by Perl itself, to the point that I later went on to use Perl wherever possible until this present day. The Perl/Tk presentation also had the added benefit of saving me from creating a UI using the C curses lib, I used Perl/Tk instead and made the boss even happier. Now, being a programmer in bioinformatics, Perl is not only tolerated but is the preferred language. It's one thing that seems to bridge the gap between the biologists and programmers, a common language spoken by two types of people who don't see eye to eye on many things. felonious | [reply] |
|
Re: Rolling into Perl
by revdiablo (Prior) on Oct 15, 2002 at 20:04 UTC | |
A good amount of folks seem to have begun their Perl journey with CGI programming. For me, it was at the opposite end of the web site. I wanted to spider, download, and archive websites. I was aware of wget -r, but there were certain aspects to it I didn't like (How foolish of me! If only I knew the multitude of wget options... of course, I was still learning the ropes of Linux and unix in general at the time). I started out writing horrible cargo-cult scripts that did the wrong thing the wrong way. They were ugly, and slow. They were a maintenance nightmare. But they worked! They performed a needed function, and I loved it. I was creating utilities to make my life easier! It was empowering. Now I've been using Perl for nearly 5 years. I am able to understand an astonishing (to me, anyway) amount of what I read here and elsewhere, and have begun to actually create what I think is decent code (I still mostly use Perl for the same purpose -- small but highly useful unix command line utilities). Compared to my many previous false-starts at learning other languages, picking up Perl was very natural. I think it's an excellent language to learn, if only for the ease with which useful things can be created. | [reply] |
|
Re: Rolling into Perl
by Popcorn Dave (Abbot) on Oct 15, 2002 at 18:56 UTC | |
Looking back, it's probably the worst code I've ever written, and someday when I get some free time I'll go back and rewrite the thing. After doing that small CGI script, I did a blackjack simulator to gain more practice in Perl but ended up taking a course at the local community college. The only problem I have now is that since I've learned Perl, I dream in code, and there is nothing worse than a bug you can't find dream or an infinite loop nightmare. : ) There is no emoticon for what I'm feeling now. | [reply] |
|
Re: Rolling into Perl
by smitz (Chaplain) on Oct 16, 2002 at 08:37 UTC | |
Along time ago, when I was a student, doing a course I hated, (or not doing it, as the case may be), I found myself bored at home, with free internet. So what does a 19 year old eventually get into, once he tires of endless pr0n? No, not perl! Hacking! L33t! Actually, I got into Hackerslab.org, an awesome site / game. Im not going to tell you what level 14 involved, suffice to say that I needed to learn a programming langage to do it. I quickly taught myself the rudiments of sockets and arrays, and wrote what I still consider the best code I have ever produced. (If anyone's interested, its on perlmonk.org, at /home/smitz/honeycomb.pl) And so perl stuck, cos it rules, obviously! SMiTZ | [reply] |