Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Релиз языка программирования Perl 5.28.0

После 13 месяцев разработки состоялся релиз новой стабильной ветки языка программирования Perl - 5.28. При подготовке нового выпуска было изменено около 730 тыс. строк кода, изменения затронули 2200 файлов, в разработке приняли участие 77 разработчиков.

Ветка 5.28 выпущена в соответствии с утверждённым пять лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.28.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.28.0. Одновременно с выходом Perl 5.28 прекращена поддержка ветки 5.24, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.29, на базе которой в апреле или мае или июне 2019 года будет сформирован стабильный релиз Perl 5.30.

Ключевые изменения:

  • С дополнительных bitwise-операторов для побитовой работы со строками (&. |. ^. ~.) и числами (& | ^ ~) снят статус экспериментальной функциональности. Так как новые числовые операторы теперь явно привязываются к контексту (например, "~" всегда рассматривает аргумент как число, а "~." как строку, т.е. ~0 и ~"0" приведёт к одинаковому результату 2**32-1, а ~.0 и ~."0" выдаст "\xff"), они доступны только при указании флага "use feature 'bitwise'" или "use v5.28", а также при запуске интерпретатора с опцией "-E";
  • Повышена безопасность использования режима редактирования обрабатываемых файлов "perl -i" (например, вызов "perl -pi -e 's/TEST1/TEST2/g' test.txt" приводит к замене всех строк TEST1 на TEST2 в файле test.txt, в то время как при запуске без "-i" изменённый вариант выводится в STDOUT, а исходный файл остаётся нетронут). Ранее перед началом сохранения результата входной файл переименовывался или удалялся, что могло привести к потере данных в случае сбоя во время сохранения результата, например, в случае переполнения диска. Отныне результат сохраняется в новый файл, который заменяет собой исходный файл только после успешного завершения записи;
  • Добавлена поддержка Unicode 10.0;
  • Оператор "delete" теперь может применяться для удаления секций "%" в хэшах, помимо "$" и "@", с возвратом ключей и значений удалённых элементов. Например, теперь можно использовать конструкции вида "my %sanitised_values = delete %input_values{@allowed_keys} ;"
  • Добавлен новый набор экспериментальных символьных синонимов для некоторых операторов регулярных выражений. Например, вместо "(?<=...)" теперь можно указать "(*plb:...)" или "(*positive_lookbehind:...)", что значительно проще запомнить;
  • В регулярные выражения добавлены экспериментальные средства для выявления смешивания различных классов Unicode-символов в строке, например, когда в слове используются символы кириллицы и латиницы. Для ограничения области значений только одним типом символов можно использовать выражения вида "qr/(*script_run: \d+ \b )/x" или "qr/(*sr: \b \w+ \b )/x";
  • Добавлена возможность инициализации постоянных лексических массивов и хэшей, используя выражение "state @a = qw(x y z)";
  • Функции изменения локали теперь можно безопасно использовать в многопоточных приложениях, если в операционной системе локали адаптированы для многопоточной обработки (например, все системы с POSIX 2008 и Visual Studio 2005). Для определения подобных окружений добавлена новая системная переменная "${^SAFE_LOCALES}";
  • Реализация хэшей переведена по умолчанию на метод хэширования SBOX для ключей до 24 символов с применением для остальных ключей StadtX в 64-разрядных сборках и Zaphod32 в 32-разрядных, что повысит стойкость хэшей в случае появления в будущем новых атак, связанных с использованием коллизий. В общем виде предлагается четыре базовые реализации хэшей: Siphash 2-4, Siphash 1-3, Zaphod32 и StadtX, а также SBOX32 для коротких строк;
  • Из несовместных изменений можно отметить удаление атрибутов ":locked" и ":unique", удаление переменной "${^ENCODING}", прекращение поддержки использования одного идентификатора для дескрипторов файлов и каталогов (open() и opendir() ), для пометки конца блока теперь всегда нужно явно указывать '‹‹""' (просто указание '‹‹' приведёт к ошибке);
  • Среди возможностей, которые объявлены устаревшими: некоторые случае использования символов "{" в регулярных выражениях, указание аргументов в функции hostname(), модули B::Debug и Locale::Codes;
  • Ускорено выполнение выражений с несколькими операциями соединения строк (например, '$s .= "a=$a b=$b\n"') и операций sprintf, значительно ускорена реализация циклов for(), проведена оптимизация работы шаблонов регулярных выражений со свойствами с Unicode-символами (\p{...}), повышена эффективность работы функций ref() в булевом и keys() в скалярном контекстах, добавлены специальные оптимизации для операций сравнения результата index() с "-1", снижены накладные расходы при выполнении модуля File::Glob, ускорено выполнение блоков require для уже ранее загруженных модулей, внесены многочисленные оптимизации в код разбора регулярных выражений и обработки строк UTF-8;
  • Обновлены версии модулей, входящих в базовую поставку.

OpenNET

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...