Efter frokost, før jul

I går for 20 år siden udkom den første version af Perl. På behørig vis er det selvfølgelig, efter frokost, blevet fejret med en ny Perlversion, ikke den mytiske Perl6, men bare den lidt mindre Perl 5.10. Uden at ændre noget grundlæggende indeholder den dog nogle fede nyheder jeg glæder mig til at tage i brug:

Først og fremmest får Perl endelig et 'switch'-udtryk, eller 'given/when' som det er kommet til at hede. I samme omgang har vi fået en smart match-operator der Gør Det Rigtige(tm) når man skal sammenligne to ting. Ikke mere at komme til at sammenligne to tekstrenge med '=='.

Regulære udtryk har fået en håndfuld nye features. Mest interessant er nok 'named captures'. Andre sprog har haft det i et stykke tid og nu endelig i Perl. Det vil give nogle klare forbedringer når man ikke mere skal til at tælle parenteser for at finde ud af hvor $5 helt præcist kommer fra.

En noget obskur, men egentlig meget rar forbedring, er at man nu kan erklære $_ som en leksikal variabel. Hvad betyder det? Jo tidligere kunen man få store problemer hvis man havde flere stykker kode der brugte $_ samtidigt. Muligvis ikke noget mange vil opdage, men når det efterhånden bliver indarbejdet er der en masse mystiske fejl der ikke vil opstå mere.

Sidste feature jeg vil fremhæve er den nye defined or-operator. Meget ofte har man brug for at sætte nogle standardværdier hvis brugeren ikke har angivet nogle. Alt for ofte har man brugte kode ala '$foo ||= 5;', men den virkning at brugerne ikke (let) har kunne bruge en værdi som 0. Nu kan man direkte lige så let teste på om variablen har en defineret værdi.

Så hvornår kan vi tage alle de nye features i brug? Ja, personligt regner jeg med at det mindst kommer til at tage to år før vi bare begynder at rulle Perl 5.10 ud i produktion. Men forventningens glæde er jo altid den største.

Perl 6? Tjoo, den er vel lige om hjørnet sammen med IPv6...

Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Henning Jensen

Ja nu har vi jo haft det der IPv6 kørende i flere år. I nogle perioder noget imod IT leverandøren HP's vilje. (Kører I IPv6, ja så er det nok derfor at jeres applikation ikke kan køre. Firefox/ClearCase/OpenOffice/... på solaris/linux).

Nu er vi så en afdeling i et andet firma, der er IT-headquarter heller ikke så glade for IPv6. Men det er kun corporate opsætningen de ikke vil pille i, så vi har sat det op lokalt. Meeeen de kommer nok en dag.....

  • 0
  • 0
Log ind eller Opret konto for at kommentere