Kunngjort Perl 7

PÄ den pÄgÄende virtuelle konferansen for Perl-utviklere kunngjÞres prosjektet Perl 7, som smidig vil fortsette utviklingen av Perl 5 uten radikale endringer. Perl 7 vil vÊre lik utgivelsen Perl 5.32.0, 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Ä utvikles 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 «strict»-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 («use warnings«).

I Perl 7 planlegges det ogsĂ„ Ă„ stabilisere og inkludere som standard noen allerede eksisterende eksperimentelle funksjoner, som funksjonssignaturer («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 (no feature qw(indirect)) 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 (no bareword::filehandle)—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 (no multidimensional«).
    ) 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

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster