Forgot your password?
typodupeerror
Perl Programming

Perl 5.11.0 Released 235

Posted by Soulskill
from the and-so-soon dept.
jamie points out that Perl 5.11.0 was released yesterday, as well as a schedule for future 5.11.x releases, planned for the 20th of every month. Jesse Vincent encouraged testing of the new (development) version, saying, "If you write software in Perl, it is particularly important that you test your software against development releases. While we strive to maintain source compatibility with prior releases wherever possible, it is always possible that a well-intentioned change can have unexpected consequences. If you spot a change in a development release which breaks your code, it's much more likely that we will be able to fix it before the next stable release. If you only test your code against stable releases of Perl, it may not be possible to undo a backwards-incompatible change which breaks your code."
This discussion has been archived. No new comments can be posted.

Perl 5.11.0 Released

Comments Filter:
  • Also try Perl 6 (Score:5, Insightful)

    by Norsefire (1494323) * on Saturday October 03, 2009 @11:27AM (#29627229) Journal
    While you're being adventurous and testing Perl 5.11.0 I also suggest trying a Perl 6 implementation. Rakudo Perl [rakudo.org] (running on the Parrot VM [parrot.org]) is one of the most actively developed right now. Not as solid as Perl 5.X yet, but certainly getting there.
  • Re:Seriously? (Score:0, Insightful)

    by Anonymous Coward on Saturday October 03, 2009 @11:41AM (#29627347)
    it's possible to actively produce a software package that no one uses. so new releases alone don't prove anything about whether it's a dead language.

    to those of you for whom basic reasoning and reading comprehension are too much to ask, i did NOT just claim that perl is dead. I only claimed that the frequency of releases alone is not a criteria for determining its dead-ness or alive-ness. now seriously, go get some remedial education if you thought I was claiming it was dead, because no one needs your wanton ignorance polluting the Internet, driving, voting, and buying into all the bullshit the media spews every day.
  • by Anonymous Coward on Saturday October 03, 2009 @11:50AM (#29627427)

    People just aren't using it for anything more than 10-line throwaway scripts.

    You just posted on a website running Slash. Although it is Perl, so maybe the codebase is less than ten lines.

    But we also expected we'd have that around 2005.

    You were expecting it the same year the very first implementation (Pugs) was started? That was silly of you.

    It's nearly 2010, and we still don't see much real progress on that front. Rakudo just isn't a production-grade product yet.

    Unless lives are at risk, Rakudo is stable enough for production (although you may want to wait for the April "Rakudo Star" release).

    I'm sad to admit it, but instead of waiting for incremental Perl 5 releases for the next decade until Perl 6 is finally mature enough

    Perl 6 != Perl 5. They are two VERY different languages. Perl 5 and 6 will continue to be maintained in parallel.

    until Perl 6 is finally mature enough, the company I'm with has started to migrate from Perl to Python.

    You're complaining about maturity and yet you're using Python?

    Unlike the Perl community, the Python community has shown with Python 3 that they're capable of working together to create a major release with many new features in a relatively short amount of time (especially compared to the Perl 6 effort).

    Perl 6 has many, many more changes than Python 3. It is an entire rewrite of the language from the ground up, they didn't just change the print statement to a function and call it a day.

    Rewriting our approximately 3 million lines of Perl code into Python has actually gone reasonably well.

    That would have been what, 6 million lines in Python? Now I know you're trolling.

  • *cough* *cough* (Score:2, Insightful)

    by CODiNE (27417) on Saturday October 03, 2009 @11:55AM (#29627467) Homepage

    ...

    unit tests.

  • by Anonymous Coward on Saturday October 03, 2009 @11:57AM (#29627485)

    What the fuck are you talking about? Perl is still the King of Scripting Languages and always will be, at least until it has some real competition.

    Ruby is the biggest fucking joke to hit software development in years. It takes the worst of Smalltalk, and combines it with the worst of Perl. Then it adds in a bunch of smug college students, sorry, "rockstar programmers", who can only toss together ass-licking Web frameworks that pale in comparison to NeXT's early releases of WebObjects.

    Python 3.0 has been a huge disaster. When we tried it at work, we found a huge number of problems with core modules. Many of them hadn't even been updated to support the Unicode string changes in Python 3.0! And a lot of the third-party Python software just plain won't work with Python 3.0. We couldn't fucking believe how horrible of an experience Python 3.0 was for us.

    Perl is the only scripting language that is solid, is reliable, is flexible, runs just about everywhere, has an intelligent developer community, and just works out of the box. There is no alternative to Perl.

  • Re:I love Perl (Score:1, Insightful)

    by Anonymous Coward on Saturday October 03, 2009 @11:58AM (#29627503)

    This is exactly how it should work. I'm not a fan of perl, but this is how most scripting languages, and your shell, do it. ' means literal quotation, while " is more relaxed.

  • Re:*cough* *cough* (Score:2, Insightful)

    by Anonymous Coward on Saturday October 03, 2009 @12:20PM (#29627673)

    Unit tests are only as good as the programmer that programs them.

    Many times, your solution is not cut and dry.

  • by iggymanz (596061) on Saturday October 03, 2009 @12:20PM (#29627677)

    nice to hear of universe between your ears, where it's 1999. outside of that, in real world use, Perl has plummeted in use in last five years, from third most widely used language to eleventh. the language has stagnated and any Perl creative effort being wasted on the undead Perl 6.

  • Re:Also try Perl 6 (Score:3, Insightful)

    by iggymanz (596061) on Saturday October 03, 2009 @12:23PM (#29627701)

    uh, I'd rather do an implementation in a language that's not in pre-release status. My clients like their money handled by language that 1. exists 2. has stable specification 3. has stable releases

  • by ThePhilips (752041) on Saturday October 03, 2009 @12:30PM (#29627747) Homepage Journal

    ... we're still stuck with Perl 5 limitations.

    Limitations in studio, please.

    Larry is old enough we should start placing bets, does he die before Perl 6 comes out?

    I'm accepting bets whether a card runs you over before you read the comment.

  • by Ant P. (974313) on Saturday October 03, 2009 @12:48PM (#29627895) Homepage

    too many better competitors with powerful features have sprung up

    Such as... what? A Visual Basic clone (Python), a rewrite of VB itself (.Net), a Java ripoff (C#), something that brings a website to its knees before it hits 20 simultaneous users (Ruby), or an absolutely appalling clusterfuck of a language that can't even use consistent function names within a single module (its name shall not be spoken).

  • by Anonymous Coward on Saturday October 03, 2009 @01:16PM (#29628103)

    and Ruby doesn't count because Engine Yard give Ruby guys free accounts

    Yeah, I'm gonna use this statistic, but only the part of it that I like.

  • by Fnord (1756) <joe@sadusk.com> on Saturday October 03, 2009 @01:21PM (#29628147) Homepage

    I thought there was a reverse string function. In that case, why is it an infinite recursion and not a method not found?

  • Re:Seriously? (Score:4, Insightful)

    by ThePhilips (752041) on Saturday October 03, 2009 @01:37PM (#29628285) Homepage Journal

    Benchmarks and whatnot have little relevance to the real world.

    It's true that thanks to the "there is more than one way to do the same thing" isn't very appealing to commercial companies. But at the same time in the past 15+ years I work, literally every employer had some part of its infrastructure supported by Perl programs.

    Perl isn't for everyone. Obviously simpler languages like Java or C# or Python would tend to dominate because barrier to entry is lower. Nothing new.

    Perl dominated Web in the times when it was a new thing. Internet itself was a new thing. And obviously to start something new you need smart and experienced people. Among such people Perl tend to be quite popular. Now Web design became something what even your mom can do - tools are abundant. There is no need to employ such heavy lifting tools like Perl anymore.

    But thinking that Perl was used exclusively to do web stuff is a rather silly mistake to make.

  • by glassware (195317) on Saturday October 03, 2009 @01:50PM (#29628389) Homepage Journal

    Every so often when I think that Perl might be worth considering again, I come across some truly baffling example of misguided intentions like this.

    I'm sure someone thought it was a brilliant idea to save keystrokes - why type "list.GetRange(0,3)" when you can create syntax using random unused symbols on your keyboard like @states[0..3]? After all, the metric we use to judge programmer productivity is the number of keystrokes they use writing code, not the maintainability of their code.

    Oh yeah! And let's pick a totally random set of characters and use it to tell the code syntax parser to change modes! How brilliant! We can just use "qw" to mean "list of strings operator". Sure, why not, nobody would ever write a function called qw on their own, so there will never be a conflict. And now our code has random text in it which is hard to scan for and isn't surrounded by quotes and doesn't obey the same logic that any other text does.

    Seriously, consistency helps reduce the burden on a programmer. There is no excuse for a language that attempts to remove readability and consistency for the sake of reducing the number of keystrokes required to type a task. You can only save yourself typing time once, whereas readable code saves you time every day for years.

  • by vadim_t (324782) on Saturday October 03, 2009 @02:26PM (#29628667) Homepage

    I'm sure someone thought it was a brilliant idea to save keystrokes - why type "list.GetRange(0,3)" when you can create syntax using random unused symbols on your keyboard like @states[0..3]? After all, the metric we use to judge programmer productivity is the number of keystrokes they use writing code, not the maintainability of their code.

    What random symbols? the 0..3 type of syntax seems to be pretty common outside of Perl as well.

    And Perl doesn't have a .GetRange(0,3) type syntax since it's not an OO language originally. OO was grafted on to it later, so a list in Perl is still a list, and not an object with methods.

    Oh yeah! And let's pick a totally random set of characters and use it to tell the code syntax parser to change modes! How brilliant! We can just use "qw" to mean "list of strings operator". Sure, why not, nobody would ever write a function called qw on their own, so there will never be a conflict.

    Same logic could apply to exactly any other function. Personally I think "print" is a much more logical name for a function a programmer might want to use than "qw" (if your code has functions with names like that, I don't want to deal with it).

    As a language construct though, it'd be weird if "qw" had a much longer name, since it's intended to help make things shorter. And it probably stands for "quote words" which seems pretty logical given what it does.

    Also, this complaint seems odd in regards to Perl, which has a much cleaner namespace than many other languages, and helps keeping it clean.

    And now our code has random text in it which is hard to scan for and isn't surrounded by quotes and doesn't obey the same logic that any other text does.

    I don't get this part?

    Seriously, consistency helps reduce the burden on a programmer. There is no excuse for a language that attempts to remove readability and consistency for the sake of reducing the number of keystrokes required to type a task. You can only save yourself typing time once, whereas readable code saves you time every day for years.

    I agree, though in part only.

    Seriously, Perl gives you a choice. If you don't like it, don't use it. I don't use every single construct I can either. Sometimes they help:

    my @months = qw( January February March April May June July August September October November December );

    Why type all those quotes and commas, which can easily be messed up, leading to a compile failure? It's even more readable this way. Sometimes things like $_ help inside things like map, sometimes they make things more confusing. A good programmer knows when a tool is appropiate.

    Sometimes quick and dirty is a good thing. When I make a log parser in 15 minutes to gather some stats for a one time event, it helps being able to take some shortcuts. But those are by no means necessary, and I don't use them when writing bigger things.

  • by harmonise (1484057) on Saturday October 03, 2009 @02:51PM (#29628851)

    Perl 6 != Perl 5. They are two VERY different languages.

    Then maybe they need to have two VERY different names. Have we learned nothing from the problems caused by Java and JavaScript? It's nearly 2010 and people still think those two languages have something in common with one another. Now we have two different languages with the same name. Did anyone think that that would not cause confusion?

  • by Anonymous Coward on Saturday October 03, 2009 @03:09PM (#29629013)

    Random unused symbols such as the at-sign, square brackets, and periods? E-mail must be difficult in that case.

    Also, "qw" stands for "quote words." Simple enough.

  • Re:Also try Perl 6 (Score:2, Insightful)

    by iggymanz (596061) on Saturday October 03, 2009 @03:48PM (#29629359)

    "a Perl 6 implementation on the Parrot Virtual Machine, already implements a significant portion of the language."

    you really can't seriously suggest I recommend this to a paying client? Perl 6 is pre-release as it has been for 9 years, parrot just has its first 1.0 release, and Rakudo implements some subset of Perl pre-6?

  • by Myopic (18616) on Saturday October 03, 2009 @04:11PM (#29629627)

    Wait, wait. I'm not clear on your concept. Are you saying that compilation makes programs more stable and maintainable? What's the connection between stability, maintainability, and compilation?

    Are you saying that if I ran C or C++ code inside an interpreter (and there are some), then that code would somehow become less stable and maintainable?

  • Re:Seriously? (Score:3, Insightful)

    by nick_urbanik (534101) <nicku@nickuFORTRAN.org minus language> on Saturday October 03, 2009 @06:13PM (#29630685) Homepage

    I personally know of exactly one company that uses Perl at the moment, and that's only for text cleanup.

    Perhaps you don't know many companies :-)

  • by Anonymous Coward on Saturday October 03, 2009 @08:14PM (#29631371)

    You Perl faggots always like to bring out CPAN, don't you?

    The last five or six times I've tried to install a module from CPAN on a modern Linux distribution, it has fallen flat on its face.

    First, you have to wade through 15 or 20 similar, yet equally shitty, modules before you find the one that actually sort of works. Then you have to pray that it installs correctly, which it usually doesn't. Finally, you have to try to figure out how to properly use the goddamn module, which is often as cryptic as anal warts and of course lacks documentation and helpful comments.

    But by that time, you've wasted a better part of a day, and you realize that Perl is a waste of time, CPAN is a waste of time, and that Python just works. 7000 modules each doing one thing very well are better than 70000 modules where 10 perform the same task, and all of them suck rotting goat penis.

  • by dreamer-of-rules (794070) on Saturday October 03, 2009 @09:41PM (#29631815)

    I use Perl for one-time jobs... Repairing badly-formatted 80GB data files. Splitting flat files into multiple output files. Testing uniqueness of various fields. Finding the line(s) in a 250GB file that is crashing the sqlload program, and fixing it, because you have two hours or we'll lose the project. (nevermind it's the client's data). Editing several files to purge or excise fields or characters before doing serious work with them. Most of these I do via the command line. I'll write actual Perl scripts to crawl throughout our network and gather statistics on files and projects, to test patch status, to download files, process them, and email the results.

    Quick! The boss is standing over you demanding that you convert a flat file into csv, add a header, prepend a unique id, and spit any lines with weird characters into a separate file. Here's the printout of the layout. You have ten minutes. There's a million lines in the file and they've got to build a marketing model before the client meeting in one hour.

  • Re:Seriously? (Score:3, Insightful)

    by ThePhilips (752041) on Sunday October 04, 2009 @06:17AM (#29633751) Homepage Journal

    Of course Java is simpler than Perl.

    Java is strict typed - Perl is weak typed.

    Java does support run-time dynamic loading of classes - Perl supports run-time compilation from text.

    Java's class tree is static - Perl's one is dynamic and can be twisted any funny way at any point of time.

    Java is explicit language (has no/little of side-effects) - many Perl constructs are by definition implicit and some side-effects are documented as features.

    In the end, Java is simpler to learn, simpler to develop with, simpler to maintain.

    Secret is very easy: Java pretty much never requires one to use brain during no phase of development process.

    Perl actually makes you want to use your brain. Because it's fun.

  • by Anonymous Coward on Sunday October 04, 2009 @09:30AM (#29634363)

    Better question is, what idiot decided to rename the string.reverse function to something that makes no sense to anyone but him and will cause head-desk-inducing errors for everyone who tries to reverse a string the way they do it in every other programming language since the Stone Age?

    Why should the name for the function to turn a series of characters from back to front be different from the name for the function to turn a series of arbitrary items back to front? Does perl6 not have namespaces or something?

Never say you know a man until you have divided an inheritance with him.

Working...