Slashdot Mirror


Perl 5.11.0 Released

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."

55 of 235 comments (clear)

  1. Wow. . . by ibmjones · · Score: 5, Funny

    It must be real good if it goes to eleven.

    1. Re:Wow. . . by Jeff+DeMaagd · · Score: 4, Funny

      Is anyone hosting a Perl 5.11.0 House Party? Will there be deviled eggs?

  2. Seriously? by bsDaemon · · Score: 2, Interesting

    5.10.1 just came out like a week or so ago... there seems to be a slightly accelerated rate of Perl development lately, which is nice as it proves it's not a 'dead' language by any stretch... and with extensions such as MooseX::Declare, it really gives some of the more modern, OO-based dynamic languages like Python or Ruby a run for their money in their traditional sphere as well, I'd say.

    and first post i think.

    1. Re:Seriously? by rubycodez · · Score: 3, Funny

      no, proves instead of being dead it's stagnant. Perl 5.x lingers like scent of dead skunk under the porch while the Frankenstein of Perl 6 is still on the mad scientist's table, metaphorically getting body parts sewn on from morgues and cemeteries and hospitals across the globe. Perl 6 is the undead Creeper of programming languages

    2. Re:Seriously? by causality · · Score: 2, Funny

      no, proves instead of being dead it's stagnant. Perl 5.x lingers like scent of dead skunk under the porch while the Frankenstein of Perl 6 is still on the mad scientist's table, metaphorically getting body parts sewn on from morgues and cemeteries and hospitals across the globe. Perl 6 is the undead Creeper of programming languages

      Where's BadAnalogyGuy when you need him?

      --
      It is a miracle that curiosity survives formal education. - Einstein
    3. Re:Seriously? by ThePhilips · · Score: 5, Informative

      Uhm...

      Perl 5 development is stagnant for one simple reason: Perl 5 is near perfect, there is nothing left to be developed there.

      Some wanted better Perl with more consistent syntax. That's what Perl 6 is for. 5.10/etc are intermediate releases serving the purpose of facilitating future migration to Perl 6: some ambiguous constructs of previous version are gone in 5.10/etc.

      I personally do not care much about 6th - I yet to find any pathological problem in Perl 5 which would persuade me somehow to move to next big thing. Perl 5 is well documented, has piles of modules and examples all over the net. I see no point to move from it.

      --
      All hope abandon ye who enter here.
    4. Re:Seriously? by Fnord · · Score: 3, Informative

      Its not an indication of anything. 5.11 is a development branch. In theory it should be released the moment they implement one feature that doesn't belong in 5.10.

    5. Re:Seriously? by iggymanz · · Score: 5, Funny

      and Perl use had dropped to 15% of its former level in the past five years because the perfect number of applications have been developed with it, there's almost no software left to write.

    6. Re:Seriously? by ThePhilips · · Score: 3, Insightful

      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.

      --
      All hope abandon ye who enter here.
    7. Re:Seriously? by Thing+1 · · Score: 2, Interesting

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

      I call BS (or, less confrontationally, perhaps simply "you know of very few companies"). Microsoft uses Perl throughout their build environment.

      --
      I feel fantastic, and I'm still alive.
    8. Re:Seriously? by Myopic · · Score: 2, Interesting

      I'm sure you are just being a wag, because obviously anyone concerned about the stability of a production system like that wouldn't make foolish mistakes such as changing the version of their runtimes or libraries or platforms.

      You don't mean to seriously suggest that you would rewrite 50,000 lines of code rather than just, you know, *do nothing*, and not update anything?

    9. Re:Seriously? by nick_urbanik · · Score: 2, Insightful

      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 :-)

    10. Re:Seriously? by ThePhilips · · Score: 2, Insightful

      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.

      --
      All hope abandon ye who enter here.
  3. Also try Perl 6 by Norsefire · · Score: 4, Insightful

    While you're being adventurous and testing Perl 5.11.0 I also suggest trying a Perl 6 implementation. Rakudo Perl (running on the Parrot VM) is one of the most actively developed right now. Not as solid as Perl 5.X yet, but certainly getting there.

    1. Re:Also try Perl 6 by iggymanz · · Score: 2, Insightful

      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

    2. Re:Also try Perl 6 by Norsefire · · Score: 4, Informative

      1. exists

      People have been using Perl 6 for years now. It certainly exists.

      2. has stable specification

      "Stable" is a biologist term, it means "dead". The problem with a set specification (the "waterfall" model) is you discover after something was implemented that it was a bad idea, the whirlpool model prevents this.

      3. has stable releases

      Rakudo has a release every month. The "big" release is coming next April.

    3. Re:Also try Perl 6 by Norsefire · · Score: 2, Informative

      Who are these "people" using "Perl 6" for "years"? Name them now, please. The only people I know "using" Perl 6 are those who installed Rakudo, saw that it was a piece of cowshit, and promptly ignored it for being the excrement that it is.

      That's weird, because the number of projects known the proto perl6 module manager are increasing. Rakudo is passing more spectests, and its commits are increasing. There's an entire IRC channel full of users on freenode in #perl6 is you want a list.

      a lack of changes that will break our code

      A stagnant and dead product gets no changes that will break your code. It is that simple.

      I don't give a fuck if Rakudo releases every month. My clients don't give a fuck.

      Maybe no one cares what your opinions about Perl 6 are? But here we are.

      Perl 6 and Rakudo do not.

      Really? Can you give examples of problems in Rakudo that would stop it being used in production? Didn't think so.

    4. Re:Also try Perl 6 by chromatic · · Score: 2, Informative

      This isn't so much Rakudo's fault, as it is Parrot's.

      I have a year's worth of benchmarks and profiles that disagree with you.

    5. Re:Also try Perl 6 by petermgreen · · Score: 2, Informative

      It makes the JVM look efficient
      The JVM is really VERY good by VM standards. Yeah the class libraries are a bit bloated leading to long startup times but other than that it is one of the few VMs to come anywhere close to (and in some benchmarks even exceed) the performance of tradtional compiled languages.

      According to http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all&d=data&gpp=on&java=on&ghc=on&csharp=on&sbcl=on&hipe=on&mzscheme=on&lua=on&php=on&vw=on&python=on&perl=on&ruby=on&calc=calculate&box=1 java is behind C,C++ and some language i've never heard of but ahead of everything else. Hell even java in interpreter mode is not that far down the charts.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  4. Other stuff that is out by sakdoctor · · Score: 5, Funny

    Kernel 2.6.31.1
    PHP 5.2.11
    Apache 2.2.13
    Debian 5.0.3

    Keep up with all those thrilling point released with slashdot.org

  5. Perl has died in industry. by Anonymous Coward · · Score: 5, Interesting

    For software of any appreciable size, Perl has unfortunately died in industry. People just aren't using it for anything more than 10-line throwaway scripts.

    Perl 6 was something those of us in industry had been anticipating with glee. We expected it to modernize the Perl platform, and make it a contender against Java, .NET and C++ for large-scale software development. But we also expected we'd have that around 2005. 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.

    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, the company I'm with has started to migrate from Perl to 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).

    Rewriting our approximately 3 million lines of Perl code into Python has actually gone reasonably well. Although I was a staunch defender of Perl, I do have to give Python its kudos. Every day it looks more and more like we've made the right choice moving away from Perl, and towards Python.

    1. Re:Perl has died in industry. by Anonymous Coward · · Score: 3, Insightful

      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.

    2. Re:Perl has died in industry. by Fnord · · Score: 4, Interesting

      Ok, I actually do use perl professionally, but even I realize there are some serious problems with it. The reality is a middle ground between you and the grandparent.

      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.

      Pugs was started in 2005 as an attempt to inject life into what looked like a dying project. The language spec started in 2000. In five years they hadn't nailed it down. In ten years there still isn't a working implementation.

      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).

      That is EXTREMELY wishful thinking. It may have changed in the last couple months, but I tried this perl 6 code out earlier in the summer:

      my $blah = "blah";
      $blah = $blah.reverse;
      print $blah;

      and that SIMPLE code resulted in an infinite recursion error.

      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.

      Perl 5 has problems inherent with the language that inhibit large scale use, and this is coming from someone who works on a multi-million line perl 5 project. Recent frameworks have tried to address the problems by grafting perl6 like features onto perl5, but they always impact performance, and are never perfect. And goddammit, I've still found no way around the broken behavior of the SUPER keyword.

      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.

      You're being a bit unfair to Python. I'm not a huge fan of the language (if I had to move anywhere it'd be ruby), but python 3 while it didn't change much in the language itself, was a huge boost in performance to the interpreter. There are incremental changes happening to the perl5 interpreter, but nothing major structural can, because the codebase just isn't very maintainable. In fact that was one of the main reasons they decided to scrap it and develop parrot from scratch instead of working from the perl5 base. Try embedding the python interpreter and the perl5 interpreter in a C program, see which one has internals that make more sense.

      Not to mention that python is immensely more parsable. There are identical python interpreters in C, on the JVM, and on the CLR. Its been said that the only thing that can parse perl5 is perl5, and that is evidenced by the fact that the parrot project gave up on implementing a perl5 parser.

      That's not to say there aren't things python does wrong. Every time there's a point release it seems everyone's code completely breaks, while perl5 is backward compatible to perl1. And frankly, I hate significant whitespace, but that's a personal preference.

      Regardess things are not completely happy in the perl world.

    3. Re:Perl has died in industry. by Norsefire · · Score: 2, Informative

      my $blah = "blah"; $blah = $blah.reverse; print $blah; and that SIMPLE code resulted in an infinite recursion error.

      Might be because it's wrong? reverse is for lists.

      $ perl6
      > my $blah = 'blah'; $blah = $blah.flip; say $blah;
      halb
      > my @a = ; say @a.reverse;
      dcba
      >

    4. Re:Perl has died in industry. by Fnord · · Score: 2, Insightful

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

    5. Re:Perl has died in industry. by schobes · · Score: 2, Informative

      Perl hasn't died. Cpan is one of the most active community and is the largest gathering of usable, open source code available on the net. Show anything that compares to this in the Python, Ruby, PHP realm and I'll shut up, but until you can provide me a CPAN replacement in another language why would you want to change languages.

      --
      CodeRiot! Something new for programming!
    6. Re:Perl has died in industry. by harmonise · · Score: 4, Insightful

      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?

      --
      Cory Doctorow talking about cloud computing makes as much sense as George W Bush talking about electrical engineering.
    7. Re:Perl has died in industry. by chromatic · · Score: 2, Informative

      [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).

      Guido switched jobs in early 2000 in part to work on Python 3000. Eight and a half years is not a "relatively short amount of time" for the delta between Python 2 and Python 3.

    8. Re:Perl has died in industry. by Blakey+Rat · · Score: 3, Interesting

      Ok, but why would that result in infinite recursion? Correct or not, that code still exposes a bug.

    9. Re:Perl has died in industry. by chromatic · · Score: 2, Informative

      chromatic, is that you?

      No, I'm actually programming. How about you? What have you produced lately?

  6. who uses PERL by viralMeme · · Score: 2, Informative

    "For software of any appreciable size, Perl has unfortunately died in industry. People just aren't using it for anything more than 10-line throwaway scripts"

    "Large and high profile websites using Perl include: Slashdot, The Internet Movie Database, Amazon.com, CMPnet technical magazines ...

    1. Re:who uses PERL by FooAtWFU · · Score: 2, Interesting

      Also, the AirWave Management Platform is in Perl (with C/XS/etc as appropriate in certain places). It sells for thousands-of to millions-of dollars, depending on your licensing and support needs. It's basically the only wireless network NMS out there which supports multiple brands of access point (Aruba, Cisco, HP/Colubris, Meru, Proxim, Symbol/Motorola, Foundry...) and its main competitor is basically Cisco WCS, which only manages/monitors Cisco devices.

      Perl's take on object-oriented programming seems a little "fake" to some people: "what? you just bless hash references into a package named with a string? that's crazy!" But it works, and it works fairly well, and it is in fact very well-suited to development in this wildly heterogeneous environment.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    2. Re:who uses PERL by onefriedrice · · Score: 3, Informative

      Is that why the interface is such fucking shit?

      include: Slashdot

      I can't believe I have to explain this to somebody reading Slashdot, but interface is built with html and css, not perl (or any other server language).

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
  7. Re:*cough* *cough* by Anonymous Coward · · Score: 2, Insightful

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

    Many times, your solution is not cut and dry.

  8. Re:netcraft didn't confirm but Perl is dying by iggymanz · · Score: 3, Insightful

    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.

  9. Obligatory by razvan784 · · Score: 3, Funny
  10. Re:netcraft didn't confirm but Perl is dying by ThePhilips · · Score: 2, Insightful

    ... 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.

    --
    All hope abandon ye who enter here.
  11. Re:Great! Another language to learn! by FooAtWFU · · Score: 5, Informative

    qw(the list of strings operator) is awesome and is equivalent to a list of strings. The main complication of Perl data types: If the thing you're assigning to, or getting out, is an array, it starts with an @: @states = ("Alabama", "Alaska", "Arizona", "Arkansas"); (or if you don't like typing ",s all day long, @states = qw(Alabama Alaska Arizona Arkansas). If the thing you're assigning to, or getting out, is a scalar, it starts with a $: $states[0] eq 'Alabama' or $states[0] = "Canada". If you want an array reference, the reference itself is a scalar, and the thing you're pulling out is also a scalar because that's all you can put into arrays (which is why complex data structures are arrays or hashes with references to other arrays or hashes inside). $stateref = \@states; $stateref->[0] eq 'Canada'; $other_ref = [qw(manitoba vancouver tiajuana)]; @array_again = @$stateref; @array_again = @{$other_ref}.

    And that's really all there is to it, unless you want array slices or something (and who doesn't? @threestates = @states[0..3]).... or getting those out of a reference (@{$stateref}[0..3]).

    Oh, and hashes work on the same principle, but with % for the hash, {} for the indexes, () for populating the hash with an even-sized list, {} for the anonymous reference, and you can do @a_codes = @state_to_postal_codes{qw(alabama alaska arizona arkanasas)}

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  12. Re:netcraft didn't confirm but Perl is dying by Ant+P. · · Score: 2, Insightful

    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).

  13. Re:*cough* *cough* by A+beautiful+mind · · Score: 5, Informative

    Perl probably has the best testing culture out there from the major programming languages, including Java on the list. Between TAP, Perl 5 core's large test suite and a myriad of test related modules it has automated testing well covered.

    Did you know for example that when you upload something to CPAN, it gets automatically smoked on dozens of platforms and hundreds of different boxes, test reports sent to the author and assistance provided to diagnose platform specific problems if needed?

    Manual testing is for the problems not caught by the huge array of automated tests.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
  14. Re:netcraft didn't confirm but Perl is dying by Anonymous Coward · · Score: 3, Insightful

    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.

  15. Re:Great! Another language to learn! by glassware · · Score: 3, Insightful

    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.

  16. Re:netcraft didn't confirm but Perl is dying by Anonymous Coward · · Score: 2, Informative

    Perl has plummeted in use in last five years

    Really? Or are you just making stuff up?

  17. Re:netcraft didn't confirm but Perl is dying by tepples · · Score: 2, Funny

    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).

    I think its name should be spoken. I doubt that I'm the only one who doesn't know what language you're talking about.

    Let's just say that you might need a Physicians Health Plan after trying to remember whether or not a function name has an underscore.

  18. Re:qw vs. explode or split by vadim_t · · Score: 2, Informative

    Perl has that too.

    @array = split(/ /, 'its whale guts');

    With the additional advantage of that it uses a regular expression, so you can split by a much more complex criteria.

    The difference is that qw happens at compile time, and split happens at runtime, so it has efficiency advantages. Additionally, qw lets you choose the delimiter. For instance:

    @array1 = qw( its whale guts );
    @array2 = qw/ its whale (guts) /;

  19. Re:netcraft didn't confirm but Perl is dying by jmlsteele · · Score: 2, Informative

    I believe he's talking about this.

  20. Re:Great! Another language to learn! by vadim_t · · Score: 3, Insightful

    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.

  21. Re:Perl has died in industry (mod away, kids) by uncqual · · Score: 3, Funny

    Kids today... Who writes in C? Real Programmers write everything in assembly - all those fancy "volatile" and "restrict" constructs are just cruft required because they couldn't find Real Programmers who didn't need stinking optimizers. Java... don't even get me started - support for synchronization IN A LANGUAGE - that's just silly talk.

    --
    Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  22. Re:netcraft didn't confirm but Perl is dying by ducomputergeek · · Score: 2, Informative

    We must REALLY be behind the times like it's 1999. Because a lot of our stuff is not only written in Perl, but deployed on FreeBSD too!

    Most of our stuff was in PHP and usually what the public sees in the terms of our control panel and shopping cart system is PHP. But behind the scenes, it's all perl. All our billing scripts, maintenance scripts, log parsing scripts, reporting scripts, and API are all Perl. Anything that needs extensive regex is Perl. Granted, most of those scripts I've built probably 10 - 12 years ago, but they still do their jobs and do them well why change?

    We've been looking into datamart for long-term storage and analytics and the one we're close to selecting turned out to have no PHP support at all (well supposedly ODBC works), but Perl had not 1, but 2 modules in CPAN to connect and work with the database. And thanks to that it turned out to be faster in loading batch jobs than PHP/ODBC.

    Recently we'd been using a PHP based CMS that while popular is slow. The content is mostly static, but the pages needed to load faster. We switched to a Perl based CMS with flatfile databases that load in less than 2 seconds vs. 12 seconds for the PHP/MySQL based CMS.

    --
    "The problem with socialism is eventually you run out of other people's money" - Thatcher.
  23. Re:Perl has died in industry (mod away, kids) by Myopic · · Score: 2, Insightful

    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?

  24. Re:Perl has died in industry (mod away, kids) by uassholes · · Score: 2, Interesting
    My attitude comes from frustration. When I compile a C program and statically link it, it just works. Better yet (at least in a lot of cases) when I "compile" (in the Java sense) a Java program, it not only "just works", it does so on a great many platforms (even Windows since the courts enforced MS to comply with Sun's Java licensing agreement).

    But I gave up on Perl because CPAN never worked properly on Solaris (I know about the gcc version, don't get me started). So it seems after the Perl kids grew up, the next generation adopted Python. I'm sick and fucking tired of trying to figure out if a certain "program" writen in Python need to be run with Python 2.4, 2.5, 2.6, or what the fuck ever, but now there seems to be a new generation for which Python is your Dad's scripting language, so they're onto Ruby.

    And when the Ruby kids grow up, what's next? Can't we have some software that if it runs now, it will still run ten years from now, like Cobol, FormTran, or C?

    I'll bet you consider those to be antiquated don't you? And yet programs in those languages are being run all over the world to do serious stuff, and will be for a long time, and your OS may be written in one of them.

    My first computer in the 70's had an interactive BASIC interpreter that was great for playing around with programing. The scripting languages that have sprung up since them are acestors of that BASIC interpreter, and must be very educational for the younger generation, but IMHO are not suitable for production software.

  25. Re:What do people use Perl for? by dreamer-of-rules · · Score: 2, Insightful

    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.

    --
    Everyone is entitled to his own opinions, but not his own facts.
  26. Re:Great! Another language to learn! by mikehoskins · · Score: 2, Interesting

    OK, then there's Ruby. It preserves the best pieces of Perl, Smalltalk, Python, and Lisp.

    Perl's `qw(one two three);` actually works in Ruby as `%w{one two three}` but many constructs are semi-close to Perl.

    It is considered to be in the Perl family of languages but is a supremely cleaned up / ultra powerful OOP language, in the Smalltalk vein.

    In general, Ruby is as pragmatic as Perl, if not more so. It has a cleaner, more readable syntax, and code is very/most often shorter than a Perl equivalent.

    As an ex-Perler myself, I'm not looking back. Ruby is a far more powerful language, and I can read other's code (and even my code, 6 months later).

    Ruby exceeds Perl in web development, a la Rails (or Merb). It comes with many "hackers' libraries" built in, such as Expect, Erb, and Net::. Ruby Gems has Rubyforge, Raa, and GitHub as sources, which are functionally similar to CPAN. However, Gems is cleaner, without all manner of compilation and portability issues (and less code rot).

    Ruby's lambdas, open classes (monkey patching,) and method_missing() make Perl hackery look anemic and juvenile, by comparison. If you need a different way to program, try building a DSL in Ruby, which is similar in functionality to Lisp's macros, just without S Expressions.

    In short, Ruby is a better Perl 5/6 than Perl 5/6....

  27. Re:What do people use Perl for? by AniVisual · · Score: 2, Interesting

    Molecular biologists and bioinformaticians use Perl extensively for manipulating databases of long chains of DNA and proteins. Perl excels in this regard, due to its string manipulation prowess.

  28. Re:Great! Another language to learn! by harry666t · · Score: 2, Interesting

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

    How about:

    months = "January February March April May June July August September October November December".split()

    Python's full grammar specification fits on two pages of A4.