Π Π΅Π»ΠΈΠ· языка программирования Perl 5.34.0

ПослС 11 мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ состоялся Ρ€Π΅Π»ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ языка программирования Perl — 5.34. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ выпуска Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 280 тыс. строк ΠΊΠΎΠ΄Π°, измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 2100 Ρ„Π°ΠΉΠ»ΠΎΠ², Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ приняли участиС 78 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π’Π΅Ρ‚ΠΊΠ° 5.34 Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² соотвСтствии с ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½Π½Ρ‹ΠΌ восСмь Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ фиксированным Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΠΈΠΌ выпуск Π½ΠΎΠ²Ρ‹Ρ… ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Ρ€Π°Π· Π² Π³ΠΎΠ΄ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² — Ρ€Π°Π· Π² Ρ‚Ρ€ΠΈ мСсяца. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· мСсяц планируСтся Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ· Perl 5.34.1, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ исправлСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ошибки, выявлСнныС Π² процСссС внСдрСния Perl 5.34.0. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Perl 5.34 ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ 5.30, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Ρ‹ обновлСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС выявлСния критичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’Π°ΠΊΠΆΠ΅ начался процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ 5.35, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² ΠΌΠ°Π΅ ΠΈΠ»ΠΈ июнС 2022 Π³ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ сформирован ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Perl 5.36, Ссли Perl 5 Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Π²Π΅Ρ‚ΠΊΠ° Perl 7.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ измСнСния:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° синтаксиса try/catch для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… манипуляций с «eval». Π‘Π»ΠΎΠΊ «try» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ с выполняСмым ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π±Π»ΠΎΠΊ «catch» с ΠΊΠΎΠ΄ΠΎΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ любого ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π’ «catch» опрСдСляСтся пСрСмСнная, содСрТащая Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ срабатывании ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π²Ρ‹Π·ΠΎΠ² «die» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° указанная Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° строка). Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠΎΠ² «try» ΠΈ «catch» Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ return, goto, next, last ΠΈ redo. use feature ‘try’; try { a_function(); } catch ($e) { warn «An error occurred: $e»; }
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС пустой Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² Π±Π»ΠΎΠΊΠ°Ρ… «{a,n}», Π² Ρ‚ΠΎΠΌ числС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² рСгулярных выраТСниях. НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ «{,3}».
  • Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} ΠΈ \x{} Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Ссли ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΡ€ΠΈΠ»Π΅Π³Π°Π΅Ρ‚ ΠΊ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобкС ΠΈΠ»ΠΈ запятой, для Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ экранирования ΠΈΠ»ΠΈ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ «qr/a{ 5, 7 }/» ΠΈΠ»ΠΈ «\x{ FFFC }» Π±Π΅Π· Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.
  • Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌ (0xddddd) ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ (0bddddd) Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ синтаксис для задания Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… чисСл — «0oddddd», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для наглядности ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ подчёркивания (0o123_456). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ builtin oct().
  • Π’ Π΄Π²ΠΈΠΆΠΊΠ΅ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ устранСна ΡƒΡ‚Π΅Ρ‡ΠΊΠ° памяти.
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, входящих Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ поставку. Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ExtUtils::PL2Bat для прСобразования perl-скриптов Π² bat-Ρ„Π°ΠΉΠ»Ρ‹ для запуска Π² Windows.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки Perl для систСмы 9front (Ρ„ΠΎΡ€ΠΊ Plan9). Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Plan9 ΠΈ macOS. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ОБ Symbian.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ