Perl 5.11.0 Released 235
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."
who uses PERL (Score:3, Informative)
"Large and high profile [luv.asn.au] websites using Perl [perlfoundation.org] include: Slashdot, The Internet Movie Database, Amazon.com, CMPnet technical magazines
Re:Seriously? (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.
Re:Seriously? (Score:4, 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.
Re:Also try Perl 6 (Score:5, 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.
Re:Great! Another language to learn! (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)}
Re:netcraft didn't confirm but Perl is dying (Score:1, Informative)
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.
Nice to hear of the universe between your ears, where it's a fantasy island that you created yourself. Perl is the 5th most popular [github.com] language on Github (and Ruby doesn't count because Engine Yard give Ruby guys free accounts). And Perl 5 and Perl 6 development are happening very separately, one of Rakudo's lead devs said a month or two ago that if they (personally) weren't working on Perl 6 they wouldn't be working on anything in the Perl community.
Re:Also try Perl 6 (Score:3, 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 [perlgeek.de]. Rakudo is passing more spectests [rakudo.de], and its commits are increasing [rakudo.de]. 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.
Re:*cough* *cough* (Score:5, Informative)
Did you know for example that when you upload something to CPAN, it gets automatically smoked [cpantesters.org] 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.
Re:Perl has died in industry. (Score:3, 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
>
Re:netcraft didn't confirm but Perl is dying (Score:2, Informative)
Really? [indeed.com] Or are you just making stuff up?
Re:qw vs. explode or split (Score:3, Informative)
Perl has that too.
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:
Re:Perl has died in industry. (Score:2, Informative)
Re:netcraft didn't confirm but Perl is dying (Score:2, Informative)
Re:who uses PERL (Score:4, 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).
Re:Perl has died in industry. (Score:2, Informative)
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.
Re:netcraft didn't confirm but Perl is dying (Score:3, 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.
Re:Also try Perl 6 (Score:2, Informative)
I have a year's worth of benchmarks and profiles that disagree with you.
Re:Perl has died in industry. (Score:2, Informative)
No, I'm actually programming. How about you? What have you produced lately?
Re:Also try Perl 6 (Score:3, 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 [debian.org] 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.