programmeringssproget Perl har været i konstant udvikling siden den første udgivelse i 1987. Hver ny udgivelse tilføjer ekstra funktioner , bugs rettelser og tolk ydeevne forbedringer. Nogle ændringer , dog betyde, at scripts skrevet til ældre udgivelser kan ikke længere fungere som tilsigtet. Ikke desto mindre rettelser og syntaks ændringer indført i overgangen fra Perl 5.8.8 til version 5.10 også bringe sproget tættere på den næste store udgivelse : Perl 6. . Ydelse
Ligesom tidligere Perl udgivelser , version 5.10 forbedrer ydeevnen og effektiviteten af sprogets script tolk. Perls indbyggede quicksort funktioner sortere og omvendt sortere ikke længere spilde tid og hukommelse at gøre midlertidige kopier af array der skal sorteres . Den måde Perl fortolkeren behandler regulære udtryk er blevet omarbejdet så godt , øge hastigheden og eliminere stak overflow.
Core Forbedringer
Perl binære filer og biblioteker er nu flytbar . Du kan installere Perl på ethvert system drev i enhver mappe . Nu kan du oprette pakker, der sammensætter din Perl program med en matchende version af fortolkeren , der kan installeres på en enhed overalt på målet systemet.
Tilstandsvariable er en anden core ekstraudstyr til Perl. Staten søgeord giver funktionsvariabler at bevare deres værdier mellem funktion opkald , mens de resterende usynlige uden funktionens omfang. Smart Match operatør " ~ ~" tillader dig at foretage sammenligninger af strenge, arrays og hashes på måder der tidligere kun er mulige med regulære udtryk.
Uforligeligheder
< p> Desværre er nogle ændringer i Perl 5.10 bryde kompatibilitet med ældre versioner. Perl 5.8.8 scripts hjælp pack () og udpakning () på UTF -8 eller Universal Character Set Transformation Format - 8-bit vil ikke fungere korrekt sammen med Perl 5.10 UTF-8 strenge. Det regulære udtryk variabler $ * og $ # er blevet fjernet. Operatøren " chdir " er nu en Perl bareword der returnerer en fil håndtag snarere end et filnavn. Printf () og sprint () nu overholder afsmag tilstanden direktivet .
P Du kan prøve nogle nye Perl sprog features uden at bryde kompatibilitet med ældre versioner ved hjælp af den nye funktion pragma eller tolk direktiv. Funktionen pragma kan du bruge skrive kode , der bruger visse nye sproglige funktioner som sige ( ) funktion eller switch-statement kun hvis du udtrykkeligt anmoder om dem.
Fejlrettelser
Nogle af de stigninger i Perl 5.10 hastighed og stabilitet skyldes fejlrettelser . Version 5.10 løser memory leaks forårsaget af Perl proces tråde og eval funktion. Den tilfældige tal generator ikke længere ser for " urandom " fil på Windows -implementeringer. Undersøgelsen () funktion til at fremskynde regulære udtryk ikke længere udfører enhver handling på UTF-8 strenge. Den " nogen advarsler " pragma nu korrekt arbejder med " -w " valgmulighed , så du kan vælge, hvilke advarsler , du ønsker at slukke .