Re: Perl 5.20.0
by taint (Chaplain) on May 27, 2014 at 17:10 UTC
|
Thanks for the heads-up, tobyink.
For me, the things that I found most interesting, was (as you mentioned); better UTF-8 support. Any improvements in this area come as welcomed news. It just seems so unnecessarily difficult, as it is.
The Better-64 bit support has some interesting points too:
the internal array functions now use 64-bit offsets, allowing Perl arrays to hold more than 2**31 elements
Now it'll be even easier to make poorly designed routines. ;)
The regular expression engine now supports strings longer than 2**31 characters.
WOW! This, I think, will be welcomed news to those working with huge database tables, and such.
Thanks again, tobyink.
--Chris
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH
| [reply] |
|
|
Regarding better UTF-8, I don't think you're reading it the same way I am. Perl has long had the best Unicode support of any of the high level languages. The only changes I saw were an update to the current spec, which is to be expected and has been the norm, and some locale fixes which are welcome but locale is probably still a big global space mess everyone can avoid in code with proper encoding/decoding layers.
So it hasn't been improved exactly. And it's as difficult, unfortunately, as it needs to be.
I only mention this because a lot of the complaints I hear about an admittedly painful part of hacking seem to slight Perl. Perl is a shining handhold in a sea of muck WRT Unicode handling. It's not easy but it is in no way Perl's fault.
| [reply] [d/l] [select] |
|
|
Thanks for the clarification, Your Mother.
But please do note; I never intended to insinuate that Perl performed poorly, in any way, where UTF-8 was concerned. Only, that anything that might make the production of GOOD UTF-8, any easier, or more efficient. Was welcomed news. :)
Thanks again.
--Chris
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH
| [reply] |
Re: Perl 5.20.0
by Tux (Canon) on May 30, 2014 at 12:15 UTC
|
Linux 3.11.10-11-desktop [openSUSE 13.1 (Bottle)] x86_64 Xeon(R) CPU
+E3-1245 V2 @ 3.40GHz/3672(8) x86_64 11914 Mb
This is perl 5, version 20, subversion 0 (v5.20.0) built for x86_64-li
+nux-thread-multi-ld
I managed to get most of my 5.18.2 installed modules also installed under 5.20. Some needed answering questions I did not (yet) have available in my cpanprefs and others needed patches I had done before but did not store other than in the RT ticket that was already filed for the module. What is left uninstallable is the list below.
XML::LibXML::PrettyPrint from tobyink was manually changed to replace the useless dependency on common::sense (useless as it adds no value over using strict, and adds a dependency on a module that is blocked in my cpanprefs), with strict.
Devel::Size - size mismatch. Analysis done by DaveM
Image::Magick - hangs in mpeg/read.t test
JE - several issues ($^T, $^W, regex)
Lingua::Translate - babelfish redirect (no perl problem)
MooseX::App::Cmd - test fail
POE::Loop::Tk - Cannot redirect out of tied STDIN
Statistics::LineFit - longdouble issues in test (bad test case)
SVN::Core - make fails due to svn incompat
failing for failing dependency:
WWW::Scripter::Plugin::Ajax - depend on JE
WWW::Scripter::Plugin::JavaScript - depend on JE
the 5.20.0 tree now has 9048 .pm files based on 818 releases installed from cpan after the initial install.
I'd call that a success.
Enjoy, Have FUN! H.Merijn
| [reply] [d/l] [select] |
Re: Perl 5.20.0
by taint (Chaplain) on May 30, 2014 at 08:11 UTC
|
I think another note worthy point, might be the removal of:
For completeness, the following are also slated for removal:
While I've been depreciating CGI for quite some time. I think many will find the depreciated warning as quite a surprise. I'm disappointed s2p is on the "hit list". I think it makes an excellent RE tutor, for people coming to Perl, who are sed savvy.
For clarity, I should mention, the preceding list of Modules will be removed. But their usage will in 5.20.0 throw a depreciated warning until a "future release" (whatever that means), when they actually get removed.
--Chris
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH
| [reply] |
|
|
CGI has only been removed from core, but now is (way) more actively maintained on CPAN. No loss there.
a2p and s2p may have been removed from CORE, but you can install App::a2p and App::s2p and now get maintained version. I agree that they give great tuturial value, but OTOH as such they are rather outdated.
Module::Build should never have been, just as cpanplus should never have been in CORE. Both served fine as a (bad) learning curve into the alternatives getting better, but neither ever deserved a CORE spot IMHO. Having both on CPAN is more than enough.
Enjoy, Have FUN! H.Merijn
| [reply] [d/l] [select] |
|
|
They're not being deprecated; they're slated for removal from core.
They're not going to cease to exist; they're simply not going to be bundled with Perl. You'll continue to able to install them from CPAN.
PS - The word is "deprecated". "Depreciated" means something else.
| [reply] |
|
|
"future release" (whatever that means)
It means 5.21.0, which has in fact already been released.
Assuming there are other stable 5.20.x releases, they will be based on Perl 5.20.0, so will still include these deprecated modules.
use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
| [reply] |
Re: Perl 5.20.0
by Anonymous Monk on May 29, 2014 at 13:29 UTC
|
I've been hearing things (P5P, blog posts) that the Copy-On-Write mechanism is causing some trouble. I am curious as to whether some monks have any thoughts or experiences in favor of or against upgrading to 5.20.0 in terms of possible bugs etc.?
| [reply] |
|
|
If you're referring to RT#121975, it seems that between Perl 5.19.11 and 5.20.0, some of the COW improvements stopped working on some platforms (including Darwin). However, the worst case scenario for this bug seems to be that Perl 5.20 "suffers" from 5.18-like performance.
I'm now using Perl 5.20.0 as my main development platform (and have been since yesterday) and so far haven't experienced any problems with it. This includes having installed things like Moose, LWP::UserAgent, RDF::Trine, etc which have lot of dependencies and pretty big test suites.
use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
| [reply] |
|
|
That's not surprising. Every stable Perl version is tested against all of CPAN before release.
| [reply] |
|
|
The COW changes exposed bugs in many XS modules. If these problems were found by their test suites, they have been fixed.
| [reply] |
Re: Perl 5.20.0
by nevdka (Pilgrim) on May 30, 2014 at 01:59 UTC
|
| [reply] |
|
|
| [reply] |