பேர்ல் 5.44


3

ஒரு வருட வளர்ச்சிக்குப் பிறகு வெளியிடப்பட்டது பெர்ல் நிரலாக்க மொழியின் புதிய நிலையான கிளையின் வெளியீடு - 5.44... எப்பொழுது தயாராகிறது нового выпуска было изменено около 270 тысяч строк кода (без документации и автоматически сгенерированного кода — 110 тысяч), изменения затронули 860 файлов, в разработке принял участие 71 разработчик.

Ветка 5.44 выпущена в соответствии с утверждённым тринадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов — раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.44.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.44.0. Одновременно с выходом Perl 5.44 прекращена поддержка ветки 5.40, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. ஆரம்பித்துவிட்டது процесс разработки экспериментальной ветки 5.45, на базе которой в первой половине 2027 года будет сформирован стабильный релиз Perl 5.46, если не будет принято решение மேலே செல்லுங்கள் к нумерации 7.x.

சாவி மாற்றங்கள்:

  • சேர்க்கப்பட்டது экспериментальная возможность использования именованных параметров в сигнатурах функций, определяющих перечень передаваемых в функцию переменных не в теле функции, а при её объявлении. Новая возможность позволяет передавать параметры не в строгом порядке следования, а в произвольном порядке с использованием пар ключ/значения и синтаксиса как при назначении элементов в хэшах:
    • старый синтаксис: sub f { my ($x, $y) = @_; …} f(1, 2);
    • сигнатуры: sub f ($x, $y) { … } f(1, 2);
    • сигнатуры с именованными параметрами: sub f (:$x, :$y) { … } f(y => 2, x => 1);
  • Добавлена экспериментальная возможность использования алиасов (указателей на указатели) в циклах foreach с несколькими переменными. Реализованная возможность позволяет создавать алиас в цикле foreach при единовременном извлечением сразу нескольких значений в одной итерации цикла. Например, можно сформировать алиас для элемента хэша c массивом при переборе разом ключей и значений хэша: use v5.44; use feature qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "The $key array contains: @items"; } # До версии 5.44 потребовалось бы выполнять разыменование: foreach my ( $key, $var ) ( %hash ) { say "The $key array contains: @$var"; } # Без экспериментальных возможностей refaliasing и declared_refs: foreach my $key (keys %hash) { say "The $key array contains: @{$hash{$key}}"; }
  • В регулярных выражениях செயல்படுத்தப்பட்டது экспериментальный режим ‘enhanced_xx’, позволяющий использовать модификатор /xx с классами символов в квадратных скобках ([a-zA-Z]) для их разделения на несколько строк или подстановки комментариев. Например, условие if ($text =~ m/[a-zA-Z]/){ можно оформить так: if ($text =~ m/[ a-z # строчные буквы A-Z # заглавные буквы ]/xx) {
  • В генераторе псевдослучайных чисел для получения энтропии задействован системный вызов getentropy() на системах с его поддержкой (Linux, பி.எஸ்.டி, macOS). На остальных системах для получения энтропии осуществляется чтение из устройства /dev/urandom или использование хэша от времени, идентификатора процесса и значения указателя.
  • விவரக்குறிப்பு ஆதரவு சேர்க்கப்பட்டது யூனிகோட் 17.0.
  • Обеспечено строгое соблюдение правил Unicode для имён идентификаторов и групп регулярных выражений, в которых теперь запрещено использовать около 160 Unicode-символов, ранее подпадавших под класс w. Например, из действия класса w, охватывающего все буквы, цифры и символ подчеркивания, выведены латинские буквы в кружках, которые напоминают реальные буквы, но ими не являются. Изменение поведения затрагивает только программы, использующие режим use utf8.
  • Устранены уязвимости, вызванные переполнениями буфера в функциях Perl_study_chunk (CVE-2026-8376, проявляется в 32-разрядных сборках) и S_measure_struct (CVE-2026-57432), а также переполнение 16-разрядного счётчика в Regex-движке (CVE-2026-13221), что может привести к неверному срабатыванию регулярного выражения.
  • goto ஆபரேட்டரைப் பயன்படுத்தி லூப்கள் மற்றும் பிளாக் கட்டமைப்புகளுக்குள் உள்ள நிலைகளுக்குச் செல்வது தடைசெய்யப்பட்டுள்ளது. இந்த அம்சம் 2010-ல் கைவிடப்பட்டது.
  • முழு எண் கூட்டல், கழித்தல் மற்றும் பெருக்கல், சார்பு கையொப்பச் செயலாக்கம், மற்றும் தொகுக்கும் நேரத்தில் அறியப்பட்ட சரச் சாவிகளைக் கொண்டு சாவி/மதிப்புப் பட்டியல்களிலிருந்து ஹாஷ்களை நிரப்புதல் ஆகியவற்றை வேகப்படுத்துவதற்காக செயல்திறன் மேம்படுத்தல்கள் செய்யப்பட்டன.

ஆதாரம்: linux.org.ru

DDoS பாதுகாப்பு, VPS VDS சர்வர்கள் கொண்ட தளங்களுக்கு நம்பகமான ஹோஸ்டிங் வாங்கவும் 🔥 DDoS பாதுகாப்புடன் கூடிய நம்பகமான இணையதள ஹோஸ்டிங், VPS, VDS சர்வர்களை வாங்குங்கள் | ProHoster