Perl 5.22 Released
kthreadd writes: Version 5.22 of the Perl programming language has just been released. A major new feature in this release is the double diamond operator; like the regular diamond operator it allows you to quickly read through files specified on the command line but does this in a much safer way by not evaluating special characters in the file names. Other new features include hexadecimal floating point numbers, improved variable aliasing and a nicer syntax for repetition in list assignment. Also, historical Perl modules CGI.pm and Module::Build are removed from the core distribution.
Finally!@#$% :)
"To err is human, to forgive, beyond the scope of the Operating System"
Because I wrote it in Perl 6
So was it Perl 6 or you that failed?
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Not evaluating special characters on filenames? What's next, support for long integer arithmetics?
And nothing of value was gained !!! .... /ducks
Perl updates for the past ten years have been mostly unloved features and cruft. If 5.6 didn't get the job done then 5.22 won't either.
I though Perl got replaced by Python years ago.
What's the use case for hexadecimal floating point numbers? Seems like a "Why not" feature.
Neither. Perl6 is completely different than Perl5. Perl6 is almost ready, and will probably co-exist for a while with Perl5.
For sufficiently {1940, Germany, Soviet Union} values of co-exist.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
$ perl -e 'print 0xC3P0'
195
$
$_ = q^$#%$#%##$%&#$%&&$&$%$%$$#%##$&##$%$$$&#%$%&##%&%##%%^; s#.#chr(ord($&)-35)#eg; s#.{4}# $c = ""; $c .= substr(unpack("B8", substr($&, $_, 1)), 6, 2) for 0 .. 3; pack("B8", $c)#eg; print
Perl6 is almost ready
Fifteen years in the oven, that better be one tasty cake!
Ruby was built from an insecure and crash-prone mindset. newLISP is like Perl... but readable!
Robots. Lots of robots.
Perl6 is almost ready
Fifteen years in the oven, that better be one tasty cake!
Well.. You KNOW it won't be half baked..
Yes folks.. I'm here all week and we have no cover... Please tip the waitress..
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
I had a roommate who left a squash inside a toaster oven on low heat overnight. The next morning I found it. The squash got carbonized (burned) all the way through, blackened and hard as a rock.
DEAAAAAAAD.BEEEEEEEEEEEEEF ?
Nobody gives a shit about perl6, and nobody ever will. Just call it something else, for god's sake; maybe ivory. Python4 isn't quite the joke that perl6 is, but close to it. Changes in the evolution of a computer language that don't preserve backward compatibility are stupid. C++ got good adoption because the degree to which it was and is not a perfect compatible superset of C is extremely small. The tradeoff was extreme complexity and a profusion of multitudinous ways to do things. Hence the way was opened for ground-up new languages like Java, go, rust, etc, etc.
Like Python 3?
Python 3 is very widely used. Almost all of the major Python libraries support it, many of them having supported it for many years now. The ones that don't often don't support it because equivalent functionality is now part of the Python 3 standard library, or they're archaic libraries that have been supplanted by new competing libraries.
It helps that Python 3 was actually released (way back in December of 2008!), unlike Perl 6, which continues to be unreleased and useless to this very day!
just because *you* don't give a shit, doesn't mean no one else will. And Perl6 was written from the ground up to address all the shortcomings in Perl5, but all the current languages. It's essentially a brand new language, It also uses the Parrot interpreter to do a neat trick; you can mix languages. So Perl6 can use C, Python, etc natively.
You know all the ways Perl gave you to do simple things? Well, there are now even more.
Go nuts!
So much
Considering this suggestion I'm glad to see that you did improve a bit.
CLI paste? paste.pr0.tips!
I'm surprised no one's posted this yet.
LOL, Perl. Python is worlds better. Worlds.
OTOH, if you're still stuck maintaining legacy Perl code, or are neurotically hung up on whitespace issues... you'll just have to keep working harder than would otherwise be necessary. Sorry about that.
Yes. Precisely.
Python 3.x is not Python 2.x by any means. Python 2 code won't work under Python 3, and safe conversion requires complete re-testing and so is unlikely to be a practical or sane option for many installations, regardless of tools that do it automatically. That's not to say that Python 3 might not be a better language than Python 2; just that it isn't the same language, any more than Ruby or Perl is the same as Python 2.
But this is one area where open source comes to the rescue. The ability to keep Python 2.x relevant without breaking everything is readily available to anyone who needs it and can afford the investments in time and effort. Python 3 is an option, not a requirement, just as the new version of Perl is.
I've fallen off your lawn, and I can't get up.
Yes. Much better to type 4 or 8 spaces when you could have just hit tab once. I totally see your point. You bet.
Can I subscribe to your newsletter?
I've fallen off your lawn, and I can't get up.
There is an issue of readability that crops up when maintainance is a consideration. Serious regex reads like APL after being put through a shredder.
I'd rather not use a regex if there's something clearer available:
myString.find('searchTerm')
myString.replace('searchTerm','replacementTerm')
On the other hand, when writing my own language (yeah, I know, shut up), one of the very first things I did was incorporate regex handling, so WTF. :)
I've fallen off your lawn, and I can't get up.
I don't know about this idea that no one cares. Perl6 introduces a lot of interesting concepts and techniques, it is very advanced. Perl today is much smaller than Perl was when Perl6 was announced but still larger than Perl was during the days of Perl 4. I don't know whether Perl will make a comeback or remain influential. But I certainly believe either is possible. The ideas in Perl6 have already influenced mixed paradigm languages like Scala.
As for your example of C++ and C I think your history is off. C was more tightly tied to Unix culture when C++ arrived. C++ became a default for application windowing environment like Mac and Windows. At the same time, C became standard for systems programming. While there is some overlap in problem domain C and C++ rarely competed.
Java conversely was solving the cross platform compatibility problem and a desire not to port. It certainly did compete with C++ but competed by offering a feature that C++ simply didn't offer at all.
It also uses the Parrot interpreter to do a neat trick; you can mix languages.
Well, no. Parrot support has been suspended in Rakudo Perl 6. The other backends (MoarVM, Java) are faster and have more features.
So Perl6 can use C, Python, etc natively.
Even if Rakudo still supported Parrot, that would be only possible if C, Python support had been implemented on top of Parrot. Which is not the case. Parrot was a dream that never convinced much people.