Slashdot Mirror


Perl 5.10, 20 Year Anniversary

alfcateat writes "Perl 1 was released to the public by Larry Wall 20 years ago yesterday. To celebrate, Perl5Porters have released Perl5.10, the latest stable version of Perl 5. Happy Birthday Perl! Perl 5.10 isn't just a bug fix version: it's full of new features that I'm eager to use: named captures in regular expressions, state variables for subroutines, the defined-or operator, a switch statement (called given-when, though), a faster regex engine, and more. You can read more about the changes in perldelta."

18 of 304 comments (clear)

  1. Hmmmmmm by Billosaur · · Score: 4, Insightful

    I was right... we hit double-digits with Perl 5 before Perl 6 became available... and don't go on about Parrot -- it's not Perl 6. I'll be interested to download 5.10 and see what it can do. The speedier regex engine is going to be a great boon.

    --
    GetOuttaMySpace - The Anti-Social Network
    1. Re:Hmmmmmm by fbjon · · Score: 4, Insightful

      The speedier regex engine is going to be a great boon. Not to mention the named captures. Finally, no more empty capture vars because some parentheses were removed in the middle of the expression!
      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    2. Re:Hmmmmmm by Tony+Hoyle · · Score: 5, Funny

      I always though of Parrot as of a project that was born dead.

      You *know* what kind of responses you are asking for when you write something like that don't you....

    3. Re:Hmmmmmm by doti · · Score: 5, Funny

      I always though of Parrot as of a project that was born dead. It's not dead, it's resting.
      --
      factor 966971: 966971
    4. Re:Hmmmmmm by $RANDOMLUSER · · Score: 4, Funny

      It's not dead, it's resting.
      I bloody well know a dead parrot when I see one!
      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    5. Re:Hmmmmmm by ricegf · · Score: 4, Interesting

      are there any other reasons for working on this project?

      If Parrot becomes "efficient enough", then hosting Perl, Python and Ruby on Parrot should permit writing programs in a mixture of all three. Python has a very extensive library, but I certainly wouldn't mind having all of CPAN for which to choose as well - or access to Rails, for that matter. (Yes, I know, much of Rails' value is in its elegant fit to Ruby syntax, but I'd still like access from Python. Call me a library pack rat. :-)

      For another example of recent interest to me, Perl and Ruby have excellent integrations with GraphicsMagick; Python has Python Image Library (PIL) instead. Why can't I choose the graphics library I want from any of the big three dynamic languages?

      Nor would Parrot implementations of those languages need to replace the main implementations to be useful. The JVM has Jython and JRuby, granting access to Java libraries like Swing. Similarly, Microsoft's .NET has IronPython and IronRuby to avoid the much-maligned VB6. Interoperable implementations of Perl 6, Python 3, and Ruby 2 on Parrot would be very nice indeed.

      Well, for a dynamic language junkie like me, at least. ;-)

  2. Oh dear. by Xargle · · Score: 5, Funny

    "say() is a new built-in, only available when use feature 'say' is in effect, that is similar to print(), but that implicitly appends a newline to the printed string".

    *sigh* Nice to see they're still adding to the elegance of the language :(

    I wonder if threading actually works in production yet?

    1. Re:Oh dear. by macshit · · Score: 5, Funny

      "say() is a new built-in ... similar to print(), but that implicitly appends a newline ..."
      *sigh* Nice to see they're still adding to the elegance of the language :(

      Not to mention the new "lol()" built-in, which is like say(), but also removes random letters from the string, and appends 17 exclamation points.

      Sometimes I wonder about Larry Wall.
      --
      We live, as we dream -- alone....
    2. Re:Oh dear. by Speare · · Score: 5, Funny

      Not to mention the new "lol()" built-in, which is like say(), but also removes random letters from the string, and appends 17 exclamation points. Better than the first draft of lol() which replaced letters from the string with l33t equivalents. They found it was a security risk because people could just inject eval { lol($_) } and it was valid Perl code to cause a kernel panic.
      --
      [ .sig file not found ]
    3. Re:Oh dear. by funaho · · Score: 5, Funny

      So Perl is getting kinky. You can tell it to "say my $name" now. :)

  3. Re:Aren't these two unrelated events? by supersnail · · Score: 5, Funny

    Get real -- this is perl we are talking about.

    A programming language used for poetry.

    A programming language where "bless" is a basic operation.

    A programming language which borrows the "understood" syntax from English.

    A programming language where all published examples contain variables "Foo" and "Bar".

    Of course they are going publish a new release on the twentieth anniversary. I dont think it occurred to anyone in the perl community not to.

    --
    Old COBOL programmers never die. They just code in C.
  4. Re:Switch statements are syntactic sugar by ajs318 · · Score: 4, Funny

    At least Perl knows that adding numbers and concatenating string are different operations.

    2 + 3 == 5 (Perl isn't that weird)
    2 + "3" == 5 (not a TypeError as in Python)
    "2" + 3 == 5 (not "23" as in JavaScript)
    "2" + "3" == 5 (not "23" as in both JavaScript and Python)

    --
    Je fume. Tu fumes. Nous fûmes!
  5. Re:Switch statements are syntactic sugar by mccalli · · Score: 4, Funny

    >>Yeah, and who needs if statements anyway...
    >You wrote something accidentally insightful. Look at the following expression:...


    Away - away foul Lisp advocate, and darken not my doors again!

    Cheers,
    Ian
    /tongue-in-cheek

  6. recursive patterns by hey · · Score: 5, Funny

    The new recursive patterns should increase perl's readability.

  7. Much Thanks to Mr. Wall by BodhiCat · · Score: 5, Insightful

    Much thanks to Mr. Wall for creating a fast and dirty lannguage. The Oscar Madison of programming languages, much easier to learn and use than Java, the script equivilent of Felix Unger. Perl has been great for small cgi web things, not a lot of fuss and bother. Wouldn't use it for anything over a few hundred lines, tho, too easy for variable to get confused, even when using strict. Now if I can just get the DBI to MySQL on OS 10.5 to work my life would be perfect.

  8. Re:Is this the version by vagabond_gr · · Score: 4, Funny

    This is Perl we're talking about here. It would be "orels". Or whatever you set the $=] variable to.
  9. Re:Switch statements are syntactic sugar by Phroggy · · Score: 4, Insightful

    Hey now - those of us who write Perl code know exactly what our own code does, or at least we did when we wrote it. It's reading somebody else's code (or our own, years later) that's the tricky part. Perl is a lot of fun to write!

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  10. Bold perl hackers, I salute you by anilg · · Score: 4, Funny

    With 'given-when', you have broken into lands no other languages dared. I now await the addition of 'conclude-basedon' and 'eithernot-ifonly' to complete the glory that is perl.

    --
    http://dilemma.gulecha.org - My philospohical short film.