Slashdot Mirror


Perl 5.8.1 Released

langles writes "Perl 5.8.1 has been released. Read the official announcement, then download it from a CPAN mirror near you. If you've been following the Perl5 Porters List, you'll know this version was very well tested before they released it. However, there may be some modules that will need to be fixed before they will work with this release." The announcement also contains full details on incompatibilities and known issues, so give it a once over before upgrading, especially if from a pre-5.8 version.

4 of 144 comments (clear)

  1. This is good news by Sh0t · · Score: 2, Interesting

    ...as I've encounted a few script problems with the last few perl incarnations. Could have been the libraries however.

    But I have an honest confession.

    Python has become my scripting language of choice over the last 2 years.

    Does that mean I have a problem?

    TO put things in perspective, I was an 0311 for 4 years so maybe that's why I have these recurring nightmares of perl necklaces and pythons tcling me.

    1. Re:This is good news by Daniel+Dvorkin · · Score: 4, Interesting

      To be fair, it's probably easier to write unreadable but still useful code in Perl than in any other language (and I'd say Java is second) while Python does strongly encourage code that has, at the very least, a logical and easily understandable form. (You can still obfuscate it with bad variable names and the like, of course.) PHP is somewhere in the middle, IMO.

      But yeah -- it is entirely possible to write well-documented, well-organized Perl that other people (or you, well after you wrote it) can read, as you say. Actually, IMO, it's easier to write the code this way, once you get into the habit. Organizing the code well on screen helps you organize the thought processes in your head. Some programmers (and I do think that Perl programmers are particularly prone to this) seem to take a childlike delight in writing unreadable code. I maintain that people who do this deliberately are bad programmers, no matter how impressive their other skills may be.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  2. And of a classic on-line argument? by alien_blueprint · · Score: 5, Interesting

    A quick pass through the changes uncovered:


    Miscellaneous Enhancements

    map in void context is no longer expensive. map is now context aware, and will not construct a list if called in void context.


    This must have been added to *end* the ceaseless wars over whether using "map" in a void context is lame, or not. This argument after repeated dowsing attempts, would constantly spring back into life with renewed vigor on comp.lang.perl.misc and other places.

    Now it doesn't matter. Argument over. I think I'll miss it. Sort of. I can't remember a time when people weren't fighting about this. Next I suppose we'll be sorting out the whole "who would win, the Enterprise or a star destroyer?" mess ;)

    For those who don't know what I'm on about: "map" applies a subroutine or code block to each element in a list. Some people would use it to iterate over lists, instead of using "for". Perl is now smart enough to notice if you're not using the result of "map", and so won't generate the result list in that particular case.

    The whole argument came down over whether to say:

    map { do_stuff; } @list;

    or

    do_stuff for @list;

    So the "for" people would, rightly, say that the "map" was inefficient if you weren't using the result list created by map, and the "map" people said that Perl should just figure it out and do the right thing.

    Actually, now I think about it, this is going to make the argument *worse*, as now they are functionally equivalent, and it will just come down to taste! No! They don't know what they've done ... now it will never die! :)

  3. Re:Does that mean.... by Anonymous Coward · · Score: 1, Interesting

    dude, use.perl.org is the *same* *servers* as slashdot.