Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен язык программирования Perl 5.44

16.07.2026 12:39 (MSK)

После года разработки опубликован релиз новой стабильной ветки языка программирования Perl - 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, BSD, macOS). На остальных системах для получения энтропии осуществляется чтение из устройства /dev/urandom или использование хэша от времени, идентификатора процесса и значения указателя.
  • Добавлена поддержка спецификации Unicode 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 году.
  • Проведены оптимизации производительности, ускорившие операции сложения, вычитания и умножения целых чисел, обработку сигнатур функций и заполнение хэшей из списков в формате ключ/значение с известными на этапе компиляции строковыми ключами.


  1. Главная ссылка к новости (https://www.nntp.perl.org/grou...)
  2. OpenNews: Доступен язык программирования Perl 5.42
  3. OpenNews: Язык Perl поднялся с 27 на 10 место в рейтинге Tiobe
  4. OpenNews: Переполнение буфера в Perl, связанное с обработкой символов
  5. OpenNews: Релиз компилятора Rakudo 2023.04 для языка программирования Raku (бывший Perl 6)
  6. OpenNews: Доступен язык программирования Perl 5.40.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65912-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Смузихеб забывший пароль (?), 13:12, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Кто и зачем этим ещё пользуется ?
    Всм, для кого оно вообще надо в нынешнее время ?
     
     
  • 2.2, Аноним (2), 13:15, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    где-то внутри разных системных приблуд все еще встречаются перловые портянки
     
  • 2.3, Аноним (3), 13:16, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все еще лучший язык для системных скриптов
     
     
  • 3.9, q (ok), 13:29, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Лучший язык для "системных скриптов" -- это питон. Стд либа умеет дохрена всего, например, есть либа для IP/CIDR-адресов. Ну а в пердле IP-адрес это максимум строка, которую будешь парсить регекспами (не по RFC, разумеется. RFC для лохов).
     
     
  • 4.17, freehck (ok), 13:50, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Лучший язык для "системных скриптов" -- это питон.

    Нет.

    > Стд либа умеет дохрена всего

    Паршивая там стд либа.
    Вот тут в тредике я объяснял, почему: https://www.opennet.dev/openforum/vsluhforumID3/132030.html#154
    Главная добивочка — вот тут: https://www.opennet.dev/openforum/vsluhforumID3/132030.html#194

    > например, есть либа для IP/CIDR-адресов. Ну а в пердле IP-адрес это максимум строка, которую будешь парсить регекспами

    Я уже 100500 лет на перле не писал, но почему-то в курсе про: https://metacpan.org/pod/Net::IP

     
     
  • 5.25, q (ok), 14:13, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.26, Аноним (26), 14:25, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    питон король тормозов, но страшно не это а дебильный синтаксис основанный на отступах - пока не перейдете на точку с запятой, использовать этот мусор нельзя
     
     
  • 5.28, Аноним (28), 14:35, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Как минимум, отсутствие кошмарных однострочников by design — это уже огромный плюс.
     
     
  • 6.34, Аноним (34), 14:56, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    О, ты ошибаешься, питоновые однострочники -- моя любимая спецолимпиада, всегда пишу только однострочники, потому что иначе лучше взять что-нибудь более подходящее. 1000 строк питона превращаются в 50 строк баша.
     
  • 5.33, q (ok), 14:47, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > король тормозов

    Тормоза не страшны в системных скриптах: они выполняются один раз, а потом выходят. Даже если они работают 5 секунд вместо 5 наносекунд -- все равно не страшно, так как скрипты одноразовые и запускаются по требованию. С таким же успехом ты мог бы покритиковать баш.

     
  • 4.29, rshadow (ok), 14:36, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Все эти споры уже бессмысленны. На чем ИИ напишет на том и будет ))
     
  • 2.4, Аноним (4), 13:19, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Идеальный язык. Производительность выше Python и долгосрочные гарантии обратной совместимости (15 лет от объявления конструкций устаревшими, до удаления). Хэши и regexp-ы творят чудеса.
     
     
  • 3.6, Аноним (6), 13:24, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что угодно лучше питона.
     
     
  • 4.11, Аноним (11), 13:34, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Сказал сишник, которого уволили из-за ошибки в буфере.
    А он потом неожиданно понял, что на рынке труда столько программистов не нужно, так что теперь устраивайся через курс унижений от HR и работай за еду под крики менеджера: Работать! Солнце ещё высоко!
     
     
  • 5.18, Аноним (-), 13:51, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.32, rshadow (ok), 14:44, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Фигня. Судя сколько гасторбайтеров завозят, то работы курьером/таксистом/строителем хватит на всех нас.
     
  • 4.12, вах (ok), 13:36, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Доля рынка - вещь упрямая! Python (как английский язык) это универсальный инструмент - у него есть минусы, но плюсы перевешивают минусы!
     
     
  • 5.22, ы (?), 14:10, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 5.24, Аноним (24), 14:13, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты только что приравнял Python к Windows.
     
     
  • 6.30, Аноним (30), 14:39, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так windows востребован на десткопе. Спроси у знакомых на чем они сидят
     
  • 3.8, Аноним (11), 13:29, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.5, Аноним (5), 13:23, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для ProxMox'а
     
  • 2.15, Сладкая булочка (?), 13:43, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    опеннет
     
  • 2.20, xsignal (ok), 13:55, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В смысле, "зачем"? Отличный и удобный стабильный инструмент с огромной библиотечной базой - скрипты, наброски программ, полноценные программы. Скорее более уместен вопрос - почему бы не пользоваться?
     
  • 2.31, 128002 (?), 14:39, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    cowsay на нем написан
     

  • 1.7, Аноним (11), 13:27, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как у него с памятью?
     
     
  • 2.14, Массоны Рептилоиды (?), 13:41, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А как у него с памятью?

    Хорошо. Кушает и растёт

     

  • 1.13, Танкист (?), 13:40, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    зачем пользоваться сабжем, ведь пхп есть который появился как перловый шаблонизатор. Чуваку надоело для каждого проекта с нуля писать шаблонизатор на перле, и он сделал скрипты на нем. Так появился пхп
    Потом пхп распространился по миру. А некоторые лол до сих пор используют перл, хотя ПХП — это такой же перл, но на сях.
     
     
  • 2.16, Сладкая булочка (?), 13:44, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А некоторые лол до сих пор используют перл, хотя ПХП — это такой же перл, но на сях.

    Тяжело быть в танке, да.

     
     
  • 3.21, ы (?), 14:01, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    похоже на слоп для троллинга. а может каникулы.
     

  • 1.19, Аноним (19), 13:51, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Perl 7 когда?
     
     
  • 2.23, Аноним (23), 14:13, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Этот Омаром назовут. Ну по традиции :)
     

  • 1.27, Аноним (27), 14:30, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ты всё ещё скрипишь над скриптами на Перле?
    Это же Doom 1.666 - ад на Земле!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру