Профиль: Аноним (вход | регистрация) не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 обязательно


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

    Нет.

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

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

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

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

     
     
  • 5.25, q (ok), 14:13, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Can't locate Net/IP.pm in @INC

    Говорю про стд либу, а не стороннюю фигню. Пердл умеет в работу с IP-адресами так, чтобы не надо было доустанавливать мокрую _исечку из интернета?

    > Паршивая там стд либа.
    > Вот тут в тредике я объяснял, почему

    Думаешь, я буду общаться с low-effort ссылкой на копипасту?

    Думаешь, твоя копипаста настолько фундаментальная и монументальная, что сразу опровергает всё? [и нет, я ее не читал, просто глянул на объем твоей стенки]

    Думаешь, я кинусь тут же опровергать твою пасту в абсолютно другой теме, чтоб мой ответ не гуглился, потому что он окажется в абсолютно другой новости?

    Или ты просто не думаешь?

     
     
  • 6.38, freehck (ok), 15:09, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Говорю про стд либу, а не стороннюю фигню. Пердл умеет в работу
    > с IP-адресами так, чтобы не надо было доустанавливать мокрую _исечку из
    > интернета?

    С фига ли CPAN — сторонняя фигня? =)
    А питоновский PIP — это тоже сторонняя фигня? =)

    > Думаешь, твоя копипаста настолько фундаментальная и монументальная, что сразу опровергает
    > всё? [и нет, я ее не читал, просто глянул на объем твоей стенки]

    Ну не читал так не читал. Я ж пишу не для религиозных фанатиков. Я пишу для инженеров и хакеров, которые хотят разбираться в предметной области по существу, а не по лозунгам.

     
     
  • 7.41, q (ok), 15:16, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > питоновский PIP — это тоже сторонняя фигня?

    Еще раз повторяю: работа с IP-адресами в питоне идет из стд библиотеки. Не нужен там никакой пип. В перле стд-библиотека с IP-адресами работать не умеет (умеет, если катать регулярочки, нарушающие RFC).

    > пишу для инженеров и хакеров

    Видишь ли, от того, что ты позиционируешь свой текст как "для какиров", он таковым не становится. За мной -- почти 20 лет опыта, и я сразу различаю слоп от чего-то стоящего. Первый признак слопа -- приписка автора, что слоп "для какиров, для своих, а остальным не понять". Прям буквальнейше первейший признак слопа (не обязательно нейро-).

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

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

     
     
  • 6.35, Аноним (34), 14:58, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не мог: баш производительнее питона, не запускается несколько секунд, и потребляет в 100 раз меньше памяти.
     
     
  • 7.49, Аноним (49), 15:43, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    CODE usr bin time -l bash -c for i in 1 10000 do echo балабол done ... большой текст свёрнут, показать
     
     
  • 8.50, Аноним (34), 15:47, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.46, Аноним (46), 15:32, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ой, а антропики и openai ведь об этом и не знают, надо срочно их предупредить! у кого есть номер их телефона?
     
  • 4.29, rshadow (ok), 14:36, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Все эти споры уже бессмысленны. На чем ИИ напишет на том и будет ))
     
  • 4.37, Аноним (37), 15:08, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На Python неудобно писать однострочники.

    А вот Ruby - отличный язык для системных скриптов. И однострочники удобно писать, и ФП хорошее, и стандартная библиотека очень функциональная. Также есть элементы совместимости совместимости с Perl ($_, ruby -pn), Awk (String.sub, String.gsub, ruby -a), Sed (ruby -i) и даже tr (String.tr). А Python ни с чем не совместимая вещь в себе. А ещё регулярные выражения в Ruby встроены в сам синтаксис языка, как в Perl, а не всего лишь в стандартную библиотеку, как в Python. Поэтому использование RE в Ruby выглядит гораздо элегантнее, да и писать проще.

     
  • 4.39, Илья (??), 15:10, 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 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.40, Аноним (11), 15:14, 16/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.24, Аноним (24), 14:13, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты только что приравнял Python к Windows.
     
     
  • 6.30, Аноним (30), 14:39, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так windows востребован на десткопе. Спроси у знакомых на чем они сидят
     
     
  • 7.36, Аноним (11), 15:02, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На windows люди нативно работают с ПО (обработка фото, трейдинг, обработка музыки и т.д.) и играют тоже нативно.
     
  • 3.8, Аноним (11), 13:29, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Неправда, ничего лучше Python нету! (А доля рынка это подтверждает)
    Да вы можете выучить, только хайп вашего языка пройдёт и вы будите на рынке труда с неактуальными знаниями.
     
  • 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 на нем написан
     
  • 2.43, Аноним (5), 15:21, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты это спрашиваешь на сайте, написанном на Перле.
     

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

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

     

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

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

     
     
  • 3.21, ы (?), 14:01, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    похоже на слоп для троллинга. а может каникулы.
     
  • 2.48, Аноним (48), 15:40, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем нужен Паскаль? Зачем нужен Кобол? Зачем нужен Хаскель? Есть задачи помимо применения в реальных задачах, есть вопросы искусства, экстремальные увлечения, есть просто смотрите как я могу.

    Это как зачем рисовать акварелью если есть принтер и Фотошоп.  

     

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

  • 1.27, Аноним (37), 14:30, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ты всё ещё скрипишь над скриптами на Перле?
    Это же Doom 1.666 - ад на Земле!
     
  • 1.42, Аноним (42), 15:21, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем Perl 5, если уже вышел Perl 6 (raku)?
     
     
  • 2.44, Аноним (5), 15:22, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Он получился неудачным и не совместимым с p5
     
  • 2.45, Аноним (34), 15:28, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так ты всё проспала, уже perl7 придумали. Только его постигла судьба perl6.
     

  • 1.47, Аноним (48), 15:36, 16/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем эти изменения ради изменений? Они же даже ничего не улучшают.
     
     
  • 2.54, Аноним (54), 15:52, 16/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что там улучшать? Язык давно зашёл в тупик, только как-то поддерживать легаси что ещё на нём крутится.
     

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



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

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