Jump to content

История версий Perl 5

Perl — это с открытым исходным кодом язык программирования , первая версия которого, 1.0, была выпущена в 1987 году. В следующей таблице представлена ​​история версий Perl 5 , показывающая его выпускные версии. Еще не все версии охвачены.

Обратите внимание, что дополнительные второстепенные версии могут не отображаться на этой диаграмме, если только они не содержат заметных изменений или не являются последней поддерживаемой версией. Дополнительную информацию можно найти на официальном сайте Perl .

История версий

[ редактировать ]
Легенда:   Текущий   Инструментальная цепочка   Наследие

В номерах выпусков используется семантическое управление версиями , начиная с 5.6, где второстепенные версии с четными номерами (например, 5.36) являются стабильными выпусками, а нечетные номера — это экспериментальные версии для разработки. Номер патча обычно опускается при обсуждении версий Perl.

Политика обслуживания и поддержки Perl предусматривает «поддержку двух последних серий стабильных выпусков», хотя важные исправления безопасности могут быть применены к стабильным выпускам за последние три года.

Обратите внимание, что это отделено от политик поддержки Perl Toolchain (утилиты для разработки, сборки и установки модулей Perl), которые неофициально поддерживают старые версии. Текущая политика заключается в поддержке Perl v5.16 или более ранней версии до июля 2024 года, а затем в поддержке выпусков, которые были доступны в течение как минимум десяти лет.

Версия Дата выпуска Ссылки Изменения
5.40.0 9 июня 2024 г. Полные примечания к выпуску
  • Новое ключевое слово `__CLASS__`
  • Добавлен атрибут `:reader` для переменных поля.
  • Добавлены встроенные функции inf и nan (экспериментально).
  • Новый логический оператор `^^` xor среднего приоритета
  • Функция try/catch больше не является экспериментальной.
  • Исправления безопасности
5.38.2 29 ноября 2023 г. Полные примечания к выпуску
  • Исправления безопасности
  • Примечание. Версия 5.38.1 была отозвана из-за неработающей версии.
5.38.0 3 июля 2023 г. Полные примечания к выпуску
  • Новая класса функция
  • Юникод 15
  • Предупреждения об устаревании теперь имеют отдельные подкатегории.
  • API-хуки
  • Возможность установить последовательное случайное начальное число
  • Выражения по умолчанию «определенное или» и «логическое-или» в сигнатурах подпрограмм.
  • Предел кванторов регулярных выражений увеличен до I32_MAX.
  • Использование одинарных кавычек в качестве разделителя пакетов устарело.
  • Улучшения производительности
  • Улучшения управления потоком defer и finally блоки
  • Switch и Smart Match, добавленные в версии 5.10, устарели.
5.36.3 29 ноября 2023 г. Полные примечания к выпуску
  • Исправления безопасности
  • Примечание. Версия 5.36.2 была отозвана из-за неработающей версии.
5.36.1 23 апреля 2023 г. Полные примечания к выпуску
  • Исправления ошибок
5.36.0 28 мая 2022 г. Полные примечания к выпуску
  • isa оператор больше не считается экспериментальным
  • Юникод 14
  • Наборы регулярных выражений больше не считаются экспериментальными.
  • Просмотр переменной длины в регулярных выражениях больше не считается экспериментальным.
  • Логическое отслеживание
  • Новые встроенные функции
  • Сигнатуры подпрограмм больше не считаются экспериментальными.
  • Добавлены блоки `defer`.
  • Экспериментальный try/catch с finally блоки
  • Экспериментально for итераторы
5.34.3 29 ноября 2023 г. Полные примечания к выпуску
  • Исправления безопасности
  • Примечание. Версия 5.34.2 была отозвана из-за неработающей версии.
5.34.1 13 марта 2022 г. Полные примечания к выпуску
  • Исправления ошибок
5.34.0 20 мая 2021 г. Полные примечания к выпуску
  • Экспериментальный try/catch синтаксис
  • Пустая нижняя граница в кванторах регулярных выражений ( qr/{,n}/)
  • Новый восьмеричный синтаксис с 0o префиксы (например, 0o123_456)
5.32.1 23 января 2021 г. Полные примечания к выпуску
  • Новая документация perlgov и perlsecpolicy.
5.32.0 20 июня 2020 г. Полные примечания к выпуску
  • Экспериментальный isa оператор
  • Цепные сравнения (например, 1 <= $x <= 10)
  • Юникод 13.0 поддерживается
  • Числовые переменные не могут иметь префикс 0 .
5.30.3 1 июня 2020 г. Полные примечания к выпуску
  • Исправления безопасности
5.30.2 14 марта 2020 г. Полные примечания к выпуску
  • Исправления ошибок и обновления модулей
5.30.1 10 ноября 2019 г. Полные примечания к выпуску
  • Исправления ошибок и обновления модулей
5.30.0 22 мая 2019 г. Полные примечания к выпуску
  • Поддержка Юникод 12.1
  • Просмотр переменной длины в шаблонах регулярных выражений
5.28.0 22 июня 2018 г. Полные примечания к выпуску
  • Юникод 10.0 поддерживается
  • удалить фрагменты хеша ключ/значение
  • алфавитные синонимы для некоторых утверждений регулярных выражений (экспериментально)
  • Смешанные сценарии Юникода теперь можно обнаружить.
  • Редактирование на месте с помощью perl -i теперь безопаснее
  • Инициализация совокупных переменных состояния
  • Полноразмерные номера индексных дескрипторов
  • The sprintf %j модификатор размера формата теперь доступен в компиляторах до C99.
  • Флаг закрытия при выполнении устанавливается атомарно
  • Побитовые операции, специфичные для строк и чисел, больше не являются экспериментальными.
  • Локали теперь потокобезопасны в системах, которые их поддерживают.
  • Новая предопределенная переменная, доступная только для чтения. ${^SAFE_LOCALES}
  • Исправления безопасности
  • Порядок атрибутов и подписей подпрограмм изменен на исходный порядок из версии 5.20.
  • Алгоритм сортировки больше нельзя изменить. sort прагма невозможна.
5.26.0 30 мая 2017 г. Полные примечания к выпуску
  • По соображениям безопасности текущий каталог (".") больше не включается по умолчанию в конец пути поиска модуля (@INC).
  • Лексические подпрограммы больше не являются экспериментальными.
  • Отступы здесь-документы
  • Новые модификаторы регулярных выражений и группы захвата.
  • Юникод 9.0. Теперь поддерживается
  • Perl теперь может выполнять сопоставление по умолчанию в локалях UTF-8 на платформах, которые его поддерживают.
5.24.0 8 мая 2016 г. Полные примечания к выпуску
  • Юникод 8.0. Теперь поддерживается
  • Новая граница разрыва строки в регулярных выражениях
  • Расширенные классы символов в квадратных скобках работают в локалях UTF-8.
  • Более явные определения целочисленного сдвига
  • Переупорядочены аргументы точности для printf и sprintf.
  • Для обратного вызова sigaction предоставлено больше полей
  • Экспериментальная функция автоопределения была удалена.
  • Разыменование Postfix больше не является экспериментальным.
5.22.0 1 июня 2015 г. Полные примечания к выпуску
  • Юникод 7.0. Теперь поддерживается
  • Исторические модули CGI.pm и Module::Build были удалены из основного дистрибутива.
  • Оператор двойного ромба
  • Побитовые операторы с устранением неоднозначности (как экспериментальная функция)
  • Псевдонимы переменных (в качестве экспериментальной функции)
  • Порядок атрибутов и подписей подпрограммы был изменен, но в версии 5.28 это было изменено обратно.
5.20.0 27 мая 2014 г. Полные примечания к выпуску
  • Сигнатуры подпрограмм (как экспериментальная функция)
  • Разыменование Postfix (как экспериментальная функция)
  • Синтаксис среза ключ/значение
5.18.0 18 мая 2013 г. Полные примечания к выпуску
  • операции с наборами символов регулярных выражений (в качестве экспериментальной функции)
  • лексические подпрограммы (как экспериментальная функция)
5.16.0 20 мая 2012 г. Полные примечания к выпуску
  • __SUB__ для выполняющейся в данный момент подпрограммы
  • оценка с устранением неоднозначности кодировки
  • fc складывания корпуса функция
5.14.0 14 мая 2011 г. Полные примечания к выпуску
  • Юникод 6.0 поддерживается
  • Семантика Юникода применяется ко всем строкам
  • Неразрушающая замена (s///r)
  • Добавлены модификаторы регулярных выражений /d, /l, /u и /a.
  • Реентерабельные регулярные выражения
  • Автоматическое разыменование (autoderef) встроенными модулями (экспериментальная функция, удалена в версии 5.24)
5.12.0 12 апреля 2010 г. Полные примечания к выпуску
  • Юникод 5.2 поддерживается
  • Новый package NAME VERSION синтаксис
  • The ... добавлен оператор
  • Неявные ограничения с use 5.12.0 (или более поздняя версия)
  • Соответствие 2038 году
5.10.1 23 августа 2009 г. [1] Полные примечания к выпуску
  • Несовместимые изменения в операторах диапазона и определенных или в логическом контексте, которые влияют на новые switch особенность
  • Несовместимые изменения в операторе умного сопоставления
  • Юникод 5.1.0 поддерживается.
  • Новый интерфейс для подключаемых порядков разрешения методов.
  • новый overloading прагма
  • Параллельные тесты
  • DTrace Поддержка
  • Исправления ошибок и обновления модулей
  • setuidperl устарел
5.10.0 18 декабря 2007 г. [1] Полные примечания к выпуску
  • Юникод 5.0 поддерживается
  • Новый feature прагма
  • Новый оператор «определенное ИЛИ» ( //)
  • Новый switch функция и связанный с ней оператор интеллектуального сопоставления [ нужны разъяснения ] ( ~~)
  • Многочисленные новые функции регулярных выражений
  • Новый say встроенный (через функцию say)
  • Возможность объявлять статические переменные с помощью state
5.8.1 25 сентября 2003 г. [1] Примечания к выпуску Perl 5.8.1
  • Улучшена рандомизация порядка хеширования по соображениям безопасности.
  • Юникод не включен по умолчанию в зависимости от настроек локали.
  • Строки версий слева от жирной запятой рассматриваются как строковые литералы.
  • Небезопасные сигналы были повторно добавлены.
  • Улучшенные связанные массивы с отрицательными индексами.
  • Поддерживает Юникод 4.0.0.
  • Псевдохеши устарели.
  • Темы старого стиля устарели.
  • Различные обновления модулей.
  • Прагма `strict` проверяет параметры.
  • Улучшения документации.
  • Исправления ошибок.
5.8.0 18 июля 2002 г. [1] Объявление о выпуске Perl 5.8.0
  • Поддерживает Юникод 3.2.0.
  • Регулярные выражения теперь работают с Unicode.
  • Поддержка нелатинских кодировок через модуль Encode.
  • Введение потоков интерпретатора
  • Новая реализация PerlIO
  • Скаляры можно использовать в качестве дескрипторов файлов.
  • Повышенная числовая точность преобразования строковых чисел с помощью встроенной процедуры.
  • Завершена поддержка 64-битных версий.
  • Новый sort прагма для изменения алгоритма сортировки. (Это было отключено в версии 5.28.)
  • Новые модули: Digest::MD5, File::Temp, Filter::Simple, libnet, List::Util, Memoize, MIME::Base64, Scalar::Util, Storable, Switch, Test::More, Test::Simple , Text::Balanced, Tie::File и т. д.
  • Несовместимости:
  • Perl 5.8 не совместим на двоичном уровне с более ранними версиями Perl.
  • 64-битные версии больше не используют Perl malloc.
  • порядок хеширования изменен
  • Команда dump() устарела.
  • Потоки 5.005 устарели.
  • видимая пользователю реализация псевдохешей устарела и запланирована к удалению
  • Использование испорченных данных в exec LIST и system LIST приводит к предупреждению и станет фатальной ошибкой в ​​будущем выпуске.
  • Для tr///C, tr///U вместо этого можно использовать пакет("C0", ...) и пакет("U0", ...).
5.6.0 22 марта 2000 г. [1] Выпущен Perl v5.6.0
  • Нумерация версий изменена на формат «revision.version.subversion».
  • Внутреннее представление строк изменено на UTF-8, поддержка EBCDIC прекращена.
  • Улучшенная поддержка параллельного выполнения интерпретаторов.
  • Строковые литералы могут быть записаны с использованием порядковых номеров символов.
  • Новый синтаксис атрибутов подпрограмм. (Прагма attrs теперь устарела.)
  • Поддержка больших файлов, где это возможно.
  • Поддержка двоичных чисел.
  • Дистрибутив JPL («Java Perl Lingo») поставляется в комплекте с Perl.
  • Было добавлено много новой документации в виде руководств и справочной информации.
  • Экспериментальные возможности:
  • Поддержка Юникод
  • Поддержка многопоточности и эмуляции fork() в Windows.
  • Поддержка 64-бит.
  • Lvalue подпрограммы.
  • Слабые ссылки.
  • Тип данных псевдохеш.
5.005 22 июля 1998 г. [1] Выпущена версия 5.005 (с техническим обновлением 01)
  • Версия 5.005 не двоично совместима с предыдущими выпусками.
  • Исходный код теперь в формате ANSI C.
  • Новые поддерживаемые платформы включают BeOS, DOS, MPE/ix.
  • Поддерживается синтаксис EXPR foreach EXPR.
  • Экспериментальные возможности:
  • Абстракция объектов C++ Perl поддерживается в Win32.
  • Предварительно скомпилированные регулярные выражения.
  • Расширенная поддержка 64-бит.
  • Надежные сигналы, когда потоковая обработка включена.
  • Расширенная поддержка обработки исключений.
  • Компиляторы EGCS/GCC теперь поддерживаются в Win32.
5.004 15 мая 1997 г. perl5004delta — что нового в perl5.004
5.003_1 31 июля 1996 г. Полные примечания к выпуску
5.003 25 июня 1996 г. Полные примечания к выпуску
  • Исправления безопасности
  • Исправления ошибок
5.002_1 25 марта 1996 г. Полные примечания к выпуску
  • Изменения пространства имен EMBED теперь используются по умолчанию.
  • Исправлено несколько ошибок в ядре
  • Добавлены две новые магические переменные: $^E и $^O.
  • Был добавлен механизм, позволяющий перечислять локально применяемые исправления в perl -v выход
  • В документацию внесены различные мелкие исправления и обновления.
  • Обширные обновления портов OS/2 и VMS.
  • Прочие изменения и исправления ошибок.
5.002 29 февраля 1996 г. Полные примечания к выпуску
  • Добавлена ​​новая функция: Прототипы.
  • Обширные обновления почти всех модулей Perl.
  • Массивные изменения как в системе настройки, так и в системе сборки.
  • Исправления ошибок
5.001 13 марта 1995 г. Полные примечания к выпуску
  • Добавлены два новых хука: $SIG{__WARN__} и $SIG{__DIE__}.
  • Добавлены замыкания
  • Теперь импортированные процедуры считаются «определенными» для предупреждений о переопределении.
  • Исправления ошибок
5.000 17 октября 1994 г. Полные примечания к выпуску
4.000 21 марта 1991 г.
3.000 18 октября 1989 г.
2.000 5 июня 1988 г.
1.000 18 декабря 1987 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 45c69a3e6fbb9b606251e2b2d19f415c__1719925320
URL1:https://arc.ask3.ru/arc/aa/45/5c/45c69a3e6fbb9b606251e2b2d19f415c.html
Заголовок, (Title) документа по адресу, URL1:
Perl 5 version history - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)