{"id":138692,"date":"2025-07-03T23:12:17","date_gmt":"2025-07-03T21:12:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupen-yazyk-programmirovaniya-perl-5-42"},"modified":"2025-07-03T23:12:17","modified_gmt":"2025-07-03T21:12:17","slug":"dostupen-yazyk-programmirovaniya-perl-5-42","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42","title":{"rendered":"\u00c8 disponibile il linguaggio di programmazione Perl 5.42","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo un anno di sviluppo, \u00e8 stato pubblicato il rilascio del nuovo ramo stabile del linguaggio di programmazione Perl \u2014 5.42. Nel preparare la nuova release, sono state modificate circa 280.000 righe di codice (senza documentazione e codice generato automaticamente \u2014 93.000), le modifiche hanno interessato 1500 file e 64 sviluppatori hanno partecipato allo sviluppo.    <\/p>\n<p>Il ramo 5.42 \u00e8 stato rilasciato secondo il piano di sviluppo approvato dodici anni fa, che prevede il rilascio di nuovi rami stabili ogni anno e aggiornamenti correttivi ogni tre mesi. Circa un mese dopo, \u00e8 previsto il rilascio del primo aggiornamento correttivo Perl 5.42.1, che corregger\u00e0 i bug pi\u00f9 significativi emersi durante l'implementazione di Perl 5.42.0. Contestualmente al rilascio di Perl 5.42, il supporto per il ramo 5.38 \u00e8 stato interrotto, per il quale gli aggiornamenti potranno essere rilasciati in futuro solo in caso di problemi critici di sicurezza. A breve inizier\u00e0 il processo di sviluppo del ramo sperimentale 5.43, dal quale verr\u00e0 creato il rilascio stabile di Perl 5.44 a giugno 2026, se non si decider\u00e0 di passare alla numerazione 7.x.        <\/p>\n<p>Principali modifiche:   <\/p>\n<ul>\n<li class=\"l\"> Sono stati aggiunti operatori sperimentali per la gestione delle liste \u2014 \u00abany { BLOCK } @list\u00bb e \u00aball { BLOCK } @list\u00bb, che ricordano l'operatore \u00abgrep { BLOCK } @list\u00bb, ma possono restituire solo i valori true o false. L'operatore \u00aball\u00bb restituisce \u00abtrue\u00bb se la condizione \u00e8 soddisfatta per tutti gli elementi della lista, mentre l'operatore \u00abany\u00bb \u2014 se la condizione \u00e8 soddisfatta per almeno un elemento. La funzionalit\u00e0 degli operatori \u00e8 analoga alle funzioni del modulo List::Util, ma le varianti incorporate sono pi\u00f9 veloci e consumano meno memoria.         use v5.42;     use feature 'keyword_all';     no warnings 'experimental::keyword_all';     my @numbers = ...     if ( all { $_ % 2 == 0 } @numbers ) {         say 'All the numbers are even';     }\n<li class=\"l\"> Per i campi definiti all'interno della classe \u00e8 stato implementato l'attributo \u00ab:writer\u00bb, utilizzato per creare automaticamente un metodo che scrive il valore della variabile nel campo per l'istanza attuale della classe.       class Point {         field $x :reader :writer :param;         field $y :reader :writer :param;     }     my $p = Point-&gt;new( x =&gt; 20, y =&gt; 40 );     $p-&gt;set_x(60);\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per la definizione di metodi lessicali, che, analogamente alla definizione di sottoprogrammi lessicali (&#171;lexical_subs&#187;), consente di creare metodi accessibili solo nell'ambito lessicale del blocco in cui sono stati creati. Per creare tali metodi si utilizza l'espressione &#171;my nome_metodo&#187;.\n<li class=\"l\"> \u00c8 stato aggiunto l'operatore &#171;-&gt;&#038;&#187;, che consente di chiamare sottoprogrammi che si trovano nell'ambito lessicale come se fossero metodi. In combinazione con la possibilit\u00e0 di definire metodi lessicali, il nuovo operatore implementa funzionalit\u00e0 simili ai metodi privati.\n<li class=\"l\"> \u00c8 stato aggiunto l'operatore di assegnazione &#171;A ^^= B&#187;, che esegue l'operazione &#171;A = A XOR B&#187;.\n<li class=\"l\"> \u00c8 stata aggiunta la pragma &#171;source::encoding&#187;, che definisce la codifica del codice sorgente. Per il codice in codifica ASCII \u00e8 possibile specificare &#171;use source::encoding &#8216;ascii'&#187; (per impostazione predefinita), mentre per UTF-8 &#8212; &#171;use source::encoding &#8216;utf8&#8242;&#187;, dove quest'ultima espressione \u00e8 equivalente a &#171;use utf8&#187;. L'interprete restituir\u00e0 un errore se nel codice contrassegnato come ASCII ci sono caratteri UTF-8 o se nel codice contrassegnato come UTF-8 vengono utilizzate sequenze di escape &#171;&#092;x{}&#187;. Per disattivare il controllo di una parte del codice \u00e8 possibile utilizzare il valore &#171;use no source::encoding&#187;. Nella pratica, la pragma aggiunta pu\u00f2 rivelarsi utile per identificare situazioni in cui uno sviluppatore ha dimenticato di specificare &#171;use utf8&#187; per codice in codifica UTF-8.\n<li class=\"l\"> Nello spazio dei nomi &#171;CORE::&#187; \u00e8 stata aggiunta la funzione chdir(). Ad esempio, ora \u00e8 possibile accedere a questa funzione come &#171;&#038;CORE::chdir($dir)&#187; o &#171;my $ref = &#092;&#038;CORE::chdir; $ref-&gt;($dir)&#187;.\n<li class=\"l\"> \u00c8 stata aggiunta l'espressione &#8216;no feature &#171;apostrophe_as_package_separator&#187;&#8216; per disattivare il supporto dell'uso del simbolo &#187; &#8216; &#187; come separatore dei nomi dei pacchetti (ad esempio, &#171;My&#8217;Module&#8217;Var&#187; invece di &#171;My::Module::Var&#187;). Inizialmente, in Perl 5.42 era previsto di rimuovere il supporto per tali separatori, che erano stati precedentemente dichiarati obsoleti, ma durante le discussioni \u00e8 stato deciso di mantenere questa funzione di default, prevedendo tuttavia un'opzione per la disattivazione.\n<li class=\"l\"> Tra le funzionalit\u00e0 ripristinate \u00e8 stata inclusa la funzionalit\u00e0 &#171;switch&#187; e l'operatore &#171;~~&#187;, che erano precedentemente contrassegnati come obsoleti e programmati per essere rimossi. A partire dalle versioni Perl 5.36 e 5.42, le funzionalit\u00e0 &#171;switch&#187; e &#171;~~&#187; sono disattivate per impostazione predefinita quando il codice \u00e8 legato a versioni del linguaggio (per esempio, specificando &#171;use v5.42&#187;), ma possono essere attivate con le espressioni &#8216;use feature &#171;switch&#187;&#8216; e &#8216;use feature &#171;smartmatch&#187;&#8216;.\n<li class=\"l\"> Aggiunto il supporto per la specifica Unicode 16.0.            <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63519\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl &#8212; 5.42. \u041f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u044b\u043b\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043e\u043a\u043e\u043b\u043e 280 \u0442\u044b\u0441\u044f\u0447 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 (\u0431\u0435\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 &#8212; 93 \u0442\u044b\u0441\u044f\u0447\u0438), \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u043b\u0438 1500 \u0444\u0430\u0439\u043b\u043e\u0432, \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 64 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. \u0412\u0435\u0442\u043a\u0430 5.42 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u043c \u0434\u0432\u0435\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-138692","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl - 5.42.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl 5.42 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl - 5.42.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-07-03T21:12:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-07-03T21:12:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00c8 disponibile il linguaggio di programmazione Perl 5.42 | ProHoster","description":"Dopo un anno di sviluppo, \u00e8 stata pubblicata la nuova versione stabile del linguaggio di programmazione Perl - 5.42.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl 5.42 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0440\u0435\u043b\u0438\u0437 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Perl - 5.42.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-07-03T21:12:17+00:00","article:modified_time":"2025-07-03T21:12:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"138692","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 13:39:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 13:39:19","updated":"2026-01-23 13:39:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/138692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=138692"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/138692\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=138692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=138692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=138692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}