Re: Problem med perl 5.14
[email protected] (Jonas Brømsø Nielsen) Thu, 3 Nov 2011 15:23:34 +0100
| Newsgroups | perl.copenhagen |
|---|---|
| Message-ID | <[email protected]> |
Hej Henrik, Vi diskuterede dette kort på sidste møde. Så jeg blev lidt nysgerrig, har I en formel evalueringsproces eller lignende for opdatering af Perl? jonasbn -- pauseid: JONASBN email: [email protected] twitter: jonasbn blog: http://logicLAB.org/ On 28/10/2011, at 13.06, Henrik Hald Nørgaard wrote: > Jobindex bruger i øjeblikket perl 5.12 og vi har ønsket at opdatere til perl > 5.14 her i efteråret. Vi er imidlertid stødt på et problem med perl 5.14, > som måske også kan være af interesse for andre Perl-brugere i > Københavsområdet: > > > > Se på denne substitution: > > [henrik@gnu ~]$ /home/perlrepo/bin/perl -e 'use 5.012; my $x="Overs\x{e6}r"; > $x =~ s/r/ /gi; say $x;' > > Ove sæ > > > > Intet usædvaligt her, men perl 5.14.2 gør det anderledes: > > > > [henrik@gnu ~]$ /home/perlrepo/perl-5.14.2/bin/perl -e 'use 5.012; my > $x="Overs\x{e6}r"; $x =~ s/r/ /gi; say $x;' > > Ove sær > > > > Det andet "r" bliver ikke substitueret. Problemet opstår kun: > > * efter et dansk specialtegn > > * med "case-insentitive matchning", /i > > > > Det optræder ikke, hvis man tilføjer den nye /l - modifier: > > > > [henrik@gnu ~]$ /home/perlrepo/perl-5.14.2/bin/perl -e 'use 5.012; my > $x="Overs\x{e6}r"; $x =~ s/r/ /gil; say $x;' > > Ove sæ > > > > eller hvis man bruger "use locale": > > > > [henrik@gnu ~]$ /home/perlrepo/perl-5.14.2/bin/perl -e 'use 5.012; use > locale; my $x="Overs\x{e6}r"; $x =~ s/r/ /gi; say $x;' > > Ove sæ > > > > eller hvis man ikke bruger "unicode_strings": > > > > [henrik@gnu ~]$ /home/perlrepo/perl-5.14.2/bin/perl -e 'use 5.012; no > feature qw(unicode_strings); my $x="Overs\x{e6}r"; $x =~ s/r/ /gi; say $x;' > > Ove sæ > > > > Vi troede til at begynde med, at forskellen var en konsekvens af de ikke > bagud kompatible ændringer, som indgår i perl 5.14: > > > > http://perldoc.perl.org/perl5140delta.html#Incompatible-Changes > > > > men det gav ikke nogen mening. Min kollega, Anders Melchiorsen, gravede dybt > i problemet og fandt ud af, at problemet ikke længere optræder i seneste > blead version af perl (5.15.3) og har rapporteret det som en fejl i perl > 5.14: > > > > https://rt.perl.org/rt3/Public/Bug/Display.html?id=101710 > > > > Som det fremgår her, er problemet/fejlen introduceret i perl 5.13.9. > > > > Det blev rettet igen af dette commit til perl 5.15: > > > > http://perl5.git.perl.org/perl.git/commit/0a185c45d11435c3182b92d9373bd28ab7 > c386b2 > > > > Vi afventer nu, hvad der sker og har udsat opdateringen af perl. > > > > Med venlig hilsen > Henrik Hald Nørgaard, Programmør > Jobindex A/S, Holger Danskes Vej 91, 2000 Frederiksberg > Tlf.: +45 38 32 33 55, dir.: +45 38 32 33 81 > <http://www.jobindex.dk/> www.jobindex.dk > > > > >