Objavljen je programski jezik Perl 5.40, evo što je novo
Programski jezik Perl 5.40 donosi novu ključnu riječ CLASS, poboljšano rukovanje pogreškama s try/catch, :reader atribute za varijable polja i još mnogo toga.
Tek objavljeni potpuno novi Perl 5.40 donosi poboljšanja jezgre, sigurnosna ažuriranja i promjene u popularnom skriptnom jeziku, nadograđujući njegove snažne značajke iz prethodne verzije 5.38.
Ovo ažuriranje uvodi nove funkcionalnosti, optimizira postojeće i rješava značajne sigurnosne ranjivosti. O tome više u nastavku.
Što je novo u programskom jeziku Perl 5.40
Jedna od istaknutih značajki u Perl 5.40 je uvođenje ključne riječi __CLASS__. Ovo novo proširenje omogućuje preciznije dohvaćanje imena klase unutar konteksta temeljenog na klasama, poput metoda i inicijalizatora polja. Pruža referencu na klasu koja je svjesna izvođenja u runtimeu, što je posebno korisno tijekom izvršenja konstruktora kada “$self” nije dostupan.
Štoviše, Perl programeri sada mogu koristiti atribut :reader za varijable polja klase kako bi automatski generirali metode pristupa, pojednostavili kod i poboljšali čitljivost. Ažuriranje također uključuje dopuštanje razmaka u opciji naredbenog retka -M, usklađujući je s postojećim ponašanjem opcije -I.
Značajno poboljšanje sintakse vidi se uvođenjem logičkog xor operatora ^^, čime se upotpunjuje skup logičkih operatora u Perlu. U međuvremenu, značajke poput try/catch blokova i iteriranja preko više vrijednosti pomoću for prešle su iz eksperimentalnog u stabilno stanje, što ukazuje na zrelost njihove implementacije i pouzdanost.
S aspekta sigurnosti, Perl 5.40 ispravlja značajne ranjivosti, uključujući CVE-2023-47038, koja rješava problem preljeva spremnika, i CVE-2023-47039, koja otklanja rizik od otmice binarnih datoteka na Windows sustavima.
Što se tiče nekompatibilnosti i zastarjelosti, ažuriranje je uvelo promjene koje mogu utjecati na postojeće skripte, uključujući prilagodbe funkcije reset EXPR, koja sada pokreće 'set magic' na skalarskim vrijednostima, što može utjecati na stare skripte gdje prije nije imala efekta.
Štoviše, Perl nastavlja postupno ukidati značajke i sintaksu koja bi mogla dovesti do nejasnoća ili pogrešaka, poput rješavanja klasnih bareworda kao rukohvata za datoteke.
Perl 5.40 također donosi ažuriranja za širok raspon modula, od „Archive::Tar” do „IO::Socket::IP”, zajedno s uvođenjem novih modula poput „Term::Table” i „Test2::Suite” u Perl jezgru, smanjujući ovisnosti za testiranje modula na CPAN-u.
Na kraju, novo izdanje se može pohvaliti poboljšanjima performansi, uključujući optimizirane operacije negacije i bolje upravljanje generičkim TARGMY optimizacijama, što može značajno ubrzati vrijeme izvođenja za određene operacije.
Programeri se potiču da se referiraju na Perl dokumentaciju i resurse zajednice za detaljan pregled svih promjena i za dodatne informacije. Evo objave; ključne razlike u odnosu na prethodnu verziju, 5.38, možete detaljno vidjeti ovdje.
