PÄ den pÄgÄende virtuelle konferansen for Perl-utviklere prosjektet Perl 7, som smidig vil fortsette utviklingen av Perl 5 uten radikale endringer. Perl 7 vil vÊre lik utgivelsen , med unntak av ulike standardinnstillinger som bedre samsvarer med moderne utviklingspraksis. Ellers vil Perl 7 forbli det samme Perl 5 og opprettholde kompatibilitet med tidligere utviklede applikasjoner.
En betydelig endring av versjonsnummeret vil fungere som en slags skille for overgangen til en ny modell for Ä Þke funksjonaliteten til Perl-sprÄket uten merkbare brudd pÄ bakoverkompatibilitet.
Det antas at opprettelsen av Perl 7 vil bidra til Ä tiltrekke nye utviklere til Ä bruke Perl og etablere prosessen med Ä legge til betydelige nye funksjoner i sprÄket, samtidig som det opprettholdes kompatibilitet med kodebasen til eksisterende prosjekter. Nummer 7 er valgt fordi Perl 6 ble brukt da sprÄket ble utviklet, som nÄ gÄr under et annet navn, Raku. Den fÞrste utgivelsen av Perl 7 forventes neste Är. Versjonen Perl 5.32 vil bli den siste i Perl 5-serien, og den er planlagt Ä bli stÞttet i 5 til 10 Är.
Den mest bemerkelsesverdige endringen i Perl 7 vil vÊre inkluderingen av «»-modus som standard, som innebÊrer streng sjekk av variabeldeklarasjoner, bruk av symbolske pekere og tildeling av subrutiner. Bruken av «use strict» er god skikk og brukes av de fleste utviklere. Tilsvarende planlegger de Ä inkludere varselbehandling som standard (««).
I Perl 7 planlegges det ogsÄ Ä stabilisere og inkludere som standard noen allerede eksisterende eksperimentelle funksjoner, som («use feature 'signatures'»), som gjÞr det mulig Ä spesifisere innkommende argumenter ved definisjon av en funksjon og automatisere sjekken av antallet deres (man kan skrive «sub foo ($left, $right) {» i stedet for «sub foo { my($left, $right) = @_;»). Det planlegges ogsÄ Ä inkludere stÞtte for operatoren «isa» som standard for Ä sjekke om et objekt er et eksempel pÄ en spesifisert klasse eller en klasse avledet fra den («if( $obj isa Package::Name )», samt postfix-dereferering (postderef) «$sref->@$*» i stedet for «${ $sref }», «$aref->@*$» i stedet for «@{ $aref }» og «$href->%{ ⊠}» i stedet for «%$href{ ⊠}».
Kandidater for Ă„ vĂŠre frakoblet som standard i Perl 7 er:
- Indirekte objektnotering () er en utdatert metode for Ä kalle objekter, hvor man i stedet for "->" bruker et mellomrom ("method $object @param" i stedet for "$object->$method(@param)"). For eksempel, i stedet for "my $cgi = new CGI" mÄ man alltid bruke "my $cgi = CGI->new".
- Rene filbeskrivelser uten variabeldeklarasjoner ()âbruk av konstruksjoner som "open FH, $file" vil fĂžre til feil, man mĂ„ bruke "open my $fh, $file". Endringen vil ikke berĂžre standard filbeskrivelser STDIN, STDOUT, STDERR, ARGV, ARGVOUT og DATA.
- Fiktive flerdimensjonale matriser og hasher i Perl 4-stil («).
) For eksempel, Ä spesifisere "$hash{1, 2}" vil fÞre til en feil, man mÄ bruke en mellomliggende matrise, for eksempel "$hash{join($;, 1, 2)}". - Prototyppdeklarasjoner i Perl 4-stil (man mÄ bruke "use :prototype()").
I mer fjerne planer forventes det at stÞtte for Unicode skal inkluderes som standard, noe som vil befri utviklere fra Ä spesifisere "use utf8" i koden. For moduler og skript som fÄr problemer med de nye standardinnstillingene, er det laget en lÞsning for Ä gÄ tilbake til atferden til Perl 5 ved Ä legge til "use compat::perl5" i koden. Enkelte innstillinger vil ogsÄ bli bevart og kan endres individuelt.
Kilde: opennet.ru
