Slashdot Mirror


Perl 1.0?

James A. A. Joyce writes "The title says it all. There's a tiny blurb over at dev.perl.org. Download Perl 1.0 here, for all of those nostalgics in the Slashdot audience! It's only 263KB, so why not give this piece of 1980s computing history a try?"

12 of 92 comments (clear)

  1. Re: Aside from historical value, what's the point? by gooru · · Score: 4, Funny

    so why not give this piece of 1980s computing history a try?

    Because I can't actually do anything with it?

  2. eh by Anonymous Coward · · Score: 4, Funny

    so why not give this piece of 1980s computing history a try?

    Or yould do as the C programmers do and still be left in the 70's.

  3. Some things to point out. by James+A.+A.+Joyce · · Score: 3, Informative

    Before I continue, I'd just like to point out that on the offchance that something goes wrong with regard to dev.perl.org, I uploaded a copy before the article was posted in case of Slashdotting or if you just want to use a mirror.

    With that out of the way, there's a few limitations of the language which I found quite interesting:

    • There's no switch statement
    • There are no hash table variables (i.e. those beginning with a '%')
    • No support for recursive subroutines
    • And yes, Larry does say that Perl "actually stands for Pathologically Eclectic Rubbish Lister, but don't tell anyone I said that." Oh. Oops.

    Oh, and when you download the package and untar it all into a directory, it won't work out of the box. Here's some instructions on how to make it work on Red Hat Linux system. First, untar it all into one big folder. Then, run ./Configure and just press Enter. When 'make depend' has run, you need to edit the Makefile. Open the Makefile up in your text editor and get rid of all the lines containing either '<built-in>' or '<command line>'. Then you should be able to just do 'make' and you now have a copy of Perl 1.0 as ./perl in the current directory.

    1. Re:Some things to point out. by QuMa · · Score: 4, Informative

      There still isn't a switch statement you know... Well, not in perl 5 anyway. There'll be one in perl 6.

      (oh, 5.8 has "use Switch;", but that's cheating)

    2. Re:Some things to point out. by chromatic · · Score: 4, Informative

      There are certainly hashes in Perl 1. See hash.[ch], for example.

      Did you file a bug report for your Makefile issue? Richard Clamp is maintaining this version.

  4. wtf? by larry+bagina · · Score: 5, Funny

    I submitted this story almost 20 years ago!

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  5. The Language To End All Languages by quinkin · · Score: 4, Funny
    Ah, Perl 1.0.

    All the power of QBasic, the readability of assembly, and the flexibility of DOS batch scripting...

    (Apol. to all the offended nostalgics :)

    Q.

    --
    Insert Signature Here
    1. Re:The Language To End All Languages by Magic+Thread · · Score: 5, Funny

      You forgot "the speed of Java."

  6. Re:There's one good thing about it. by Anonymous Coward · · Score: 5, Insightful

    If you've actually *USED* Python, you'll find that it's a benefit, not a problem. Enforced readability through the language is good. You should stick to a coding style anyway when you're working on a large project with several people (something you may not have done if you've no significant commercial programming under your belt).

    Having Python choose that style for you is a terrific readability benefit compared to something like Perl. It makes decyphering other people's Python code very very easy. It may not be exactly what you like - but I think it's a big win in the long run.

    What will you complain about next? Having to use squiggly brackets in C? Having to press enter on the command line?

  7. Dupe Post by Anonymous Coward · · Score: 3, Funny

    It has to be, it's 20 years old.

    Oh, how about this:

    I know slashdot is behind the news, but this is ridiculous. :)

  8. Re:There's one good thing about it. by kruntiform · · Score: 5, Informative
    Oh dear, it looks like you didn't close one of your HTML blocks properly ;) In Python, you can join lines with a backslash:
    if 1900 < year < 2100 and 1 <= month <= 12 \
    and 1 <= day <= 31 and 0 <= hour < 24 \
    and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date
    return 1
    and you can split any kind of bracketed expression over multiple lines:
    month_names = ['Januari', 'Februari', 'Maart', # These are the
    'April', 'Mei', 'Juni', # Dutch names
    'Juli', 'Augustus', 'September', # for the months
    'Oktober', 'November', 'December'] # of the year
    I don't know that you mean by inline error exception, but you can start comments at the fist column so that they stand out:
    # *** inline error exception ***
    "something ..."
    (Some of the formatting in the above examples is messed up a bit by some slashdot bogusness. Actually, there's an argument against Python's whitespace blocks for you -- things like slashdot can mess them up.)
  9. Ack!!! by stevens · · Score: 4, Funny

    As someone who uses perl quite a bit, using this 1.0 gave me a line I've seen before only in my nightmares:

    $ ./perl -w -e 'print "Just Another Perl Hacker,";'
    Unrecognized switch: -w
    $

    Aaaaaggghh! Must ... have ... warnings ...