To all the Perl Monks in cyberspace:

use strict;

If I could give you one piece of advice, that would be it. Perl Monks around the world have proven that those two words will save you more headache than anything else you could possibly do in perl. The rest of this is my personal advice written from horrible software projects gone completely wrong. To you, I dispense this advice.

Enjoy learning Perl. Scratch that, actually. You will never actually realize that you are learing Perl. But trust me, in a few years you will be able to look at line noise like the Solitare algorithim in Stephenson's Cryptonomicon and think, "Wow. How the hell did I learn enough Perl to understand that." You are not as bad at Perl as you think you are.

Don't worry about performance. Well, you can worry about it, but realize that in 6 months your little script will be running on a machine twice as powerful and with ten times the ram.

Object Orient Everthing.

Check CPAN every day. Submit to CPAN every other day.

Memorize all the $ funky character variables.

Learn LISP. Then go back and read the docs for map, join, reverse, and all of the datastructure parts of perldoc.

Keep your old test programs. Delete your old datafiles.

Indent correctly.

Don't feel embarased for asking an "easy" question. Some of the best Perl programmers I know ask "easy" questions weekly. The best ones ask them all the time.

Be very kind to your hands. Someday you will have fond memories of pre-carpal tunnel life.

Maybe you will code CPAN modules, maybe you won't. Maybe you will use th $/ variable, maybe you won't. Maybe you will learn everything about Perl's internals, maybe you will never write a script more than ten lines. Whatever you do, remember this one thing. There is always more than one way to do it.

Program, even if you have no major projects.

Read all the documentation, even if you only remember one-tenth of it.

Do not compare your code to Tom Christiansen's. Someone's code has to be better than yours and it might as well be his. Just learn from it.

Be very clear on the fact that Perl programmers belong to a community. Try to learn about the others in this community.

Program using only $_ and @_ once, but remember that variables add to clarity. Program obfucsacted perl once, but stop before it makes you crazy.

Think about, until you get an intuitive understanding, why Larry says the three virtues of a programmer are Laziness, Impatience, and Hubris.

Respect the main developers.

Be careful about your coding style, but be patient with those who give you advice on how it should be changed. Monks get very into their perl style and it can be hard to read a program written in a different style. Asking it to be changed is only natural.

But trust me on the use strict;

With thanks to Mary Schmich, who actually wrote the first one

Replies are listed 'Best First'.
RE: Perl Comencement for the 2000 Class
by mcwee (Pilgrim) on Jun 15, 2000 at 18:55 UTC
    Excellent work! It's nice that this isn't a simple parody, but acutally builds up from the piece which proceded it. (in my heart-of-hearts, I always think of Mary Schmich's original as "the best speech kurt vonnegutt never wrote." And, Baz Luhrmann is a great director, but he's no DJ.)

    The Autonomic Pilot; it's FunkyTown, babe.

RE: Perl Comencement for the 2000 Class
by Aighearach (Initiate) on Jun 15, 2000 at 13:16 UTC
    Last week I forgot to use strict; once and it cost me 4 hours of debugging.
    Paris Sinclair    |    4a75737420416e6f74686572    |    205065726c204861636b6572
    I wear my Geek Code on my finger.
      Last week I included a hyphen where it didn't ought to go. Unfortunately, use strict didn't catch this.
RE: Perl Comencement for the 2000 Class
by Dinero (Initiate) on Jun 20, 2000 at 23:43 UTC
    It is said that all roads eventually lead to wisdom.
    All one needs to do to realize this to know that one is walking on a path, and to stop and look around once in a while.

    After a 18 months of using Perl I had come to much the same conclusion...especially about oop and strict.

    Wisdom is wisdom...