{"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\/ro\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42","title":{"rendered":"Limbajul de programare Perl 5.42 este disponibil.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 un an de dezvoltare, a fost lansat\u0103 o nou\u0103 ramur\u0103 stabil\u0103 a limbajului de programare Perl \u2014 5.42. \u00cen preg\u0103tirea noii versiuni, au fost modificate aproximativ 280.000 de linii de cod (f\u0103r\u0103 documenta\u021bie \u0219i cod generat automat \u2014 93.000), modific\u0103rile afect\u00e2nd 1500 de fi\u0219iere, iar la dezvoltare au participat 64 de dezvoltatori.    <\/p>\n<p>Ramura 5.42 a fost lansat\u0103 conform programului fix aprobat acum doisprezece ani, care prevede lansarea de noi ramuri stabile o dat\u0103 pe an \u0219i de actualiz\u0103ri corective \u2014 la fiecare trei luni. Aproape \u00een termen de o lun\u0103 va fi lansat\u0103 prima actualizare corectiv\u0103 Perl 5.42.1, care va corecta cele mai semnificative erori identificare \u00een procesul de implementare a Perl 5.42.0. Odat\u0103 cu lansarea Perl 5.42, suportul pentru ramura 5.38 a fost \u00eencheiat, actualiz\u0103rile pentru aceasta put\u00e2nd fi lansate \u00een viitor doar \u00een cazuri de probleme critice de securitate. \u00cen cur\u00e2nd va \u00eencepe procesul de dezvoltare a ramurii experimentale 5.43, pe baza c\u0103reia, \u00een iunie 2026, va fi format un release stabil Perl 5.44, cu condi\u021bia s\u0103 nu fie luat\u0103 decizia de a se trece la numerotarea 7.x.        <\/p>\n<p>Modific\u0103ri cheie:   <\/p>\n<ul>\n<li class=\"l\"> Au fost ad\u0103ugate operatorii experimentali pentru prelucrarea listelor \u2014 \u201eany { BLOCK } @list\u201d \u0219i \u201eall { BLOCK } @list\u201d, care seam\u0103n\u0103 cu operatorul \u201egrep { BLOCK } @list\u201d, dar pot returna doar valori true sau false. Operatorul \u201eall\u201d returneaz\u0103 \u201etrue\u201d atunci c\u00e2nd condi\u021bia se \u00eendepline\u0219te pentru toate elementele listei, \u00een timp ce operatorul \u201eany\u201d \u2014 atunci c\u00e2nd condi\u021bia se \u00eendepline\u0219te pentru cel pu\u021bin un element. Func\u021bionalitatea operatorilor este analog\u0103 func\u021biilor din modulul List::Util, dar variantele \u00eencorporate sunt mai rapide \u0219i consum\u0103 mai pu\u021bin\u0103 memorie.         use v5.42;     use feature 'keyword_all';     no warnings 'experimental::keyword_all';     my @numbers = ...     if ( all { $_ % 2 == 0 } @numbers ) {         say 'Toate numerele sunt pare';     }\n<li class=\"l\"> Pentru c\u00e2mpurile definite \u00een interiorul unei clase a fost implementat atributul \u201e:writer\u201d, utilizat pentru a crea automat o metod\u0103 care scrie valoarea unei variabile \u00een c\u00e2mpul pentru instan\u021ba curent\u0103 a clasei.       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\"> A fost ad\u0103ugat suport pentru definirea metodelor lexicale, care, similar definirea subprogramelor lexicale (&#171;lexical_subs&#187;), permite crearea de metode accesibile doar \u00een domeniul de vizibilitate lexical al blocului \u00een care au fost create. Pentru a crea astfel de metode se utilizeaz\u0103 expresia &#171;my nume_metod\u0103&#187;.\n<li class=\"l\"> A fost ad\u0103ugat operatorul &#171;-&gt;&#038;&#187;, care permite apelarea subprogramelor aflate \u00een domeniul de vizibilitate lexical, ca \u0219i cum ar fi metode. \u00cempreun\u0103 cu capacitatea de definire a metodelor lexicale, noul operator implementeaz\u0103 func\u021bionalit\u0103\u021bi asem\u0103n\u0103toare metodelor private.\n<li class=\"l\"> A fost ad\u0103ugat operatorul de atribuire &#171;A ^^= B&#187;, care efectueaz\u0103 opera\u021bia &#171;A = A XOR B&#187;.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 pragma &#171;source::encoding&#187;, care define\u0219te codificarea sursei. Pentru codul \u00een codificare ASCII se poate specifica &#171;use source::encoding &#8216;ascii'&#187; (implicit), iar pentru UTF-8 &#8212; &#171;use source::encoding &#8216;utf8&#8242;&#187;, exprimarea de mai sus fiind echivalent\u0103 cu &#171;use utf8&#187;. Interpretatorul va genera o eroare dac\u0103 \u00een codul marcat ca ASCII apar caractere UTF-8 sau dac\u0103 \u00een codul marcat ca UTF-8 se folosesc secven\u021be escape &#171;&#092;x{}&#187;. Pentru a dezactiva verificarea unei p\u0103r\u021bi a codului, se poate utiliza valoarea &#171;use no source::encoding&#187;. \u00cen practic\u0103, pragma ad\u0103ugat\u0103 poate fi util\u0103 pentru a identifica cazuri \u00een care dezvoltatorul a uitat s\u0103 declare &#171;use utf8&#187; pentru codul \u00een codificare UTF-8.\n<li class=\"l\"> \u00cen spa\u021biul de nume &#171;CORE::&#187; a fost ad\u0103ugat\u0103 func\u021bia chdir(). De exemplu, acum se poate apela aceast\u0103 func\u021bie ca &#171;&#038;CORE::chdir($dir)&#187; sau &#171;my $ref = &#092;&#038;CORE::chdir; $ref-&gt;($dir)&#187;.\n<li class=\"l\"> A fost ad\u0103ugat expresia &#8216;no feature &#171;apostrophe_as_package_separator&#187;&#8216; pentru a dezactiva suportul utiliz\u0103rii simbolului &#187; &#8216; &#187; ca separator de nume de pachete (de exemplu, &#171;My&#8217;Module&#8217;Var&#187; \u00een loc de &#171;My::Module::Var&#187;). Ini\u021bial, \u00een Perl 5.42 se planificase eliminarea suportului pentru astfel de separatori, care anterior fuseser\u0103 declara\u021bi \u00eenvechi\u021bi, dar \u00een cursul discu\u021biilor s-a decis p\u0103strarea acestei op\u021biuni implicit, preconiz\u00e2ndu-se \u00eens\u0103 o op\u021biune pentru dezactivare.\n<li class=\"l\"> Func\u021bionalitatea \u201eswitch\u201d \u0219i operatorul \u201e~~\u201d au fost incluse \u00een func\u021bionalit\u0103\u021bile returnate, cele care anterior erau marcate ca fiind \u00eenvechite \u0219i erau planificate pentru a fi eliminate. \u00cencep\u00e2nd cu versiunile Perl 5.36 \u0219i 5.42, func\u021bionalit\u0103\u021bile \u201eswitch\u201d \u0219i \u201e~~\u201d sunt dezactivate implicit atunci c\u00e2nd se leag\u0103 codul de versiunile limbajului (de exemplu, prin specificarea \u201euse v5.42\u201d), dar pot fi activate prin expresiile \u2018use feature \u201eswitch\u201d\u2019 \u0219i \u2018use feature \u201esmartmatch\u201d\u2019.\n<li class=\"l\"> S-a ad\u0103ugat suport pentru specifica\u021bia Unicode 16.0.            <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63519\">opennet.ro<\/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.5 - 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\/ro\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Limbajul de programare Perl 5.42 este disponibil | ProHoster","description":"Dup\u0103 un an de dezvoltare, a fost lansat\u0103 o nou\u0103 ramur\u0103 stabil\u0103 a limbajului de programare Perl - 5.42.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/dostupen-yazyk-programmirovaniya-perl-5-42","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/138692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=138692"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/138692\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=138692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=138692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=138692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}