Не совсем, но в целом Perl довольно осторожен в нарушении кода, с небольшими изменениями и длинными циклами устаревания для тех, которые происходят. Довольно здоровенная часть кода, загруженная в CPAN в 1999 году, будет работать без изменений в perl 5.14.
Начиная с perl 5.12, цикл выпуска perl стал короче, а периоды устаревания также стали короче, что вызывает беспокойство, но в то же время концепция версионирования функций приобрела актуальность. Идея состоит в том, что код может объявить версию perl, на которую он нацелен с use VERSION
(например, use 5.16.0
), и предполагается, что любой код, который не объявляет версию, нацелен приблизительно на 5.10. Когда код, который нацелен на более старую версию Perl, запускается на более новой версии Perl, новые функции, которые могут вызвать проблемы совместимости (например, новые ключевые слова), отключаются, и старые ошибки могут быть повторно включены во имя совместимости. Это не абсолютная гарантия, но она будет соблюдена настолько, насколько это практически возможно.
Дополнительная информация о обратной совместимости и устаревании содержится в perlpolicy .