day & night

Perl 5.14, высокоуровневый интерпретируемый язык
Дата обновления: , перейти к новому сообщению
#1
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif Perl 5.11.0

Твой софтовый форумPerl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language «практический язык для извлечения данных и составления отчётов». Первоначально аббревиатура состояла из пяти символов и в таком виде в точности совпадала с английским словом pearl, жемчужина. Но затем стало известно, что такой язык существует и букву «а» убрали. Талисманом языка Perl является верблюд — не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.

Согласно Ларри Уоллу, Perl имеет два девиза. Первый — «There’s more than one way to do it» («Есть больше одного способа сделать это», также известный как TMTOWTDI); второй — «Easy things should be easy and hard things should be possible» («Простые вещи должны быть простыми, а сложные вещи — возможными»).

Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе реализованные при помощи регулярных выражений. Перл унаследовал много свойств от языков Си, shell script, awk.

Perl также знаменит огромной коллекцией дополнительных модулей CPAN, находящейся по адресу http://www.cpan.org.

Интересной и часто используемой возможностью Perl являются так называемые one-liners — программы из одной строки, обычно задаваемые прямо в строке вызова интерпретатора с помощью ключа -e.
Материал из Википедии — свободной энциклопедии

объявлено о выходе первого релиза в новой экспериментальной ветке Perl 5.11, в рамках которой начата подготовка к стабильной серии Perl 5.12. В анонсе новой версии подчеркивается важность проверки работоспособности кода в экспериментальной ветке. Несмотря на то, что разработчики прилагают огромные усилия к полному обеспечению совместимости, большие изменение в коде при создании новой ветки могут привести к незапланированным нарушениям совместимости. Если такие несовместимости будут найдены после выпуска стабильного выпуска 5.12, то отменить их будет уже невозможно, именно по этому важно протестировать существующий код, выявить и сообщить о всех аномалиях еще на стадии разработки экспериментальной ветки.

Ветка 5.11 будет развиваться в рамках измененного процесса подготовки релизов - новый выпуск отныне будет выходить раз в месяц, при этом каждый из таких выпусков будет подготовлен разным релиз-инженером: 5.11.1 выйдет 20 октября под контролем Jesse Vincent, 5.11.2 - 20 ноября под контролем Yves Orton, 5.11.3 - 20 декабря под контролем Leon Brocard, 5.11.4 - 20 января под контролем Ricardo Signes. В рамках перехода с системы управления версиями Perforce на Git, разработка Perl 5.11 ведется только в Git репозитории.

Из новшеств Perl 5.11 можно отметить:
  • Нарушения совместимости:
    • Изменена Unicode интерпретация спецсимволов \w, \d, \s, и символьных классов POSIX (alpha, upper, word и т.п.). Например, строго соответствуя требованию POSIX, \d более не охватывает все цифры, а \w все буквы, описанные в unicode-стандарте.
    • В служебном массиве @INC, элементы ARCHLIB и PRIVLIB теперь следуют после определения версий site_perl и vendor_perl;
    • Аргументы условных операторов given/when теперь интерпретируется в логическом контексте, если между аргументами используются связки ".." или "//". Например, вместо "when (1..10)" теперь нужно писать "when ([1..10])";
    • Изменено поведение оператора "умного" сопоставления (smart match) "~~", который перестал быть коммутативным;
    • Метки, используемые в операторах goto, last, next или redo, теперь нельзя использовать в качестве ключевых слов (например, использоваться для именования функции);
    • Около 15 более мелких и узкоспециализированных нарушений совместимости;
  • Базовые изменения:
    • База Unicode-символов обновлена до версии 5.1;
    • В регулярных выражениях добавлена поддержка последовательности "\N", под которую подпадают все символы, кроме конца строки, независимо от присутствия или отсутствия "/s" ("/s" сводит выборку к одной первой строке);
    • Использование "use 5.11.0" автоматически включает режим "strict";
    • Поддержка параллельного выполнения регрессивных тестов, выполняемых на этапе сборки модулей (вместо "make test", можно запустить "TEST_JOBS=3 make test_harness");
    • Добавлен новый оператор "..." (Yada Yada), для определения кода который будет добавлен позднее;
    • Интегрирована поддержка системы динамической трассировки DTrace;
    • Функция "each" отныне может оперировать массивами;
    • Все функции и структуры связанные со временем защищены от проблемы 2038 года;
    • Переменная $ теперь тоже может быть переопределена через tie;
    • Вывод предупреждений (-W) теперь можно включить через определение в переменной окружения PERL5OPT;
    • "delete local" теперь можно использовать для удаления элементов хэшей;
    • Для платформы Linux добавлена поддержка абстрактного пространства имен сетевых сокетов (например, в качестве адреса может быть использован массив произвольных символов).
  • Изменения, связанные с модулями и "pragma":
    • Модули в базовой поставке разделены на две части: в директории dist/ теперь находятся модули, разработка которых ведется вместе с ядром языка Perl, а в директории cpan/ - модули развиваемые через CPAN;
    • Прагма autodie в качестве замены модулю Fatal;
    • Новые модули Compress::Raw::Bzip2 и Parse::CPAN::Meta;
    • Новые прагмы parent (устанавливает взаимосвязь между ISA и базовыми классами) и overloading (определяет включить или выключить возможность переопределения операторов);
    • Расширены возможности прагм overloading, attrs, charnames, feature, mro;
  • Улучшения производительности:
    • Новый внутренний кэш для ускорения выполнения isa();
    • Линеризация для классов с единственным наследником выполняется на 40% быстрее;
    • Связанная с текущей локалью информация теперь кэшируется через специальных хэш;
    • Пустые DESTROY методы более не вызываются;
    • Увеличена скорость работы функции Perl_sv_utf8_upgrade();
    • Увеличена скорость выполнения оператора "keys" для пустых хэшей.

Home_http://www.perl.org/
Downloads (~11,4 Mb)_http://search.cpan.or...5.11.0.tar.bz2
5.10.1 (~11,1 Mb)_ftp://ftp.cpan.org/p...5.10.1.tar.bz2
User is offline
Go topGo end
 

Ответов(1 - 4)
13.04.2010 - 17:46
#2
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif Perl 5.12

Из ключевых новшеств Perl 5.12.0 можно отметить: значительное улучшение поддержки Unicode; добавление экспериментального API для разработки дополнений, расширяющих синтаксис и набор ключевых слов языка; решение в функциях работы со временем проблемы 2038 года; поддержку возможности указания номеров версий модулей прямо в операторе "package"; включение по умолчанию вывода уведомлений при использовании устаревших возможностей языка.

Основные новшества Perl 5.12.0:

* Нарушения совместимости:
o Изменена Unicode интерпретация спецсимволов \w, \d, \s, и символьных классов POSIX (alpha, upper, word и т.п.). Например, строго соответствуя требованию POSIX, \d более не охватывает все цифры, а \w все буквы, описанные в unicode-стандарте.
o В служебном массиве @INC, элементы ARCHLIB и PRIVLIB теперь следуют после определения версий site_perl и vendor_perl;
o Аргументы условных операторов given/when теперь интерпретируется в логическом контексте, если между аргументами используются связки ".." или "//". Например, вместо "when (1..10)" теперь нужно писать "when ([1..10])";
o Изменено поведение оператора "умного" сопоставления (smart match) "~~", который перестал быть коммутативным;
o Метки, используемые в операторах goto, last, next или redo, теперь нельзя использовать в качестве ключевых слов (например, использоваться для именования функции);
o Около 15 более мелких и узкоспециализированных нарушений совместимости;
* Базовые изменения:
o База Unicode-символов обновлена до версии 5.2, что позволяет корректно обрабатывать в perl любые Unicode символы;
o В регулярных выражениях добавлена поддержка последовательности "\N", под которую подпадают все символы, кроме конца строки, независимо от присутствия или отсутствия "/s" ("/s" сводит выборку к одной первой строке);
o Использование "use 5.11.0" автоматически включает режим "strict";
o Поддержка параллельного выполнения регрессивных тестов, выполняемых на этапе сборки модулей (вместо "make test", можно запустить "TEST_JOBS=3 make test_harness");
o Добавлен новый оператор "..." (Yada Yada), для определения кода который будет добавлен позднее;
o Интегрирована поддержка системы динамической трассировки DTrace;
o Функция "each" отныне может оперировать массивами;
o Все функции и структуры связанные со временем защищены от проблемы 2038 года;
o Переменная $ теперь тоже может быть переопределена через tie;
o Вывод предупреждений (-W) теперь можно включить через определение в переменной окружения PERL5OPT;
o "delete local" теперь можно использовать для удаления элементов хэшей;
o Для платформы Linux добавлена поддержка абстрактного пространства имен сетевых сокетов (например, в качестве адреса может быть использован массив произвольных символов).
o Из комплекта исключен suidperl;
o Официально прекращена поддержка платформ Windows 95, 98, ME и NT4;
o Использование конструкции "C<:=>" в качестве пустого списка атрибутов объявлено устаревшим.
o Возможность перегрузки реализованных на языке Си операторов, например "qr//";
* Изменения, связанные с модулями и "pragma":
o Модули в базовой поставке разделены на две части: в директории dist/ теперь находятся модули, разработка которых ведется вместе с ядром языка Perl, а в директории cpan/ - модули развиваемые через CPAN;
o Прагма autodie в качестве замены модулю Fatal;
o Новые модули Compress::Raw::Bzip2 и Parse::CPAN::Meta;
o Новые прагмы parent (устанавливает взаимосвязь между ISA и базовыми классами) и overloading (определяет включить или выключить возможность переопределения операторов);
o Расширены возможности прагм overloading, attrs, charnames, feature, mro;
o Модули расширений теперь могут перехватывать обработку функций Perl парсера для обработки новых видов задаваемых через ключевые слова выражений и реализации сложных операторов;
o Добавлен Си API для использования в XS расширениях низкоуровневых частей лексического анализатора и pad-системы;
o При использовании устаревших конструкций и возможностей языка отныне по умолчанию выводится предупреждение (чтобы избавиться от таких предупреждений нужно указать "no warnings 'deprecated';");
o Обновлены версии модулей: Test-Simple 0.94, Storable 2.21, Pod-Simple 3.08, Parse-CPAN-Meta 1.40, ExtUtils-Manifest 1.57, ExtUtils-CBuilder 0.260301, CGI.pm 3.48, threads::shared 1.32, ExtUtils::ParseXS 2.21, File::Path 2.08, Module::CoreList 2.20, Object::Accessor 0.36.
* Улучшения производительности:
o Новый внутренний кэш для ускорения выполнения isa();
o Линеризация для классов с единственным наследником выполняется на 40% быстрее;
o Связанная с текущей локалью информация теперь кэшируется через специальных хэш;
o Пустые DESTROY методы более не вызываются;
o Увеличена скорость работы функции Perl_sv_utf8_upgrade();
o Увеличена скорость выполнения оператора "keys" для пустых хэшей.

Downloads (~14,4 Mb)_http://search.cpan.or...-5.12.0.tar.gz
User is offline
Go topGo end
18.05.2010 - 17:39
#3
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif Perl 5.12.1



Downloads (~14,4 Mb)_http://www.cpan.org/s...-5.12.1.tar.gz
User is offline
Go topGo end
20.09.2010 - 18:00
#4
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif Perl 5.12.2



Downloads (~12 Mb)_http://www.cpan.org/s...5.12.2.tar.bz2
User is offline
Go topGo end
16.05.2011 - 23:31
#5
HugoBo-SS



тут-та-ту
[SoftoRooMTeaM] Group Icon

Группа: Модераторы
Сообщений: 10.906
Регистрация: 3.04.2008
Из: Russia SPb
Пользователь №: 827.869


Респектов: 4350
-----XXXXX




User is offline
Go topGo end

Topic Options
Сейчас: 28.03.2024 - 14:19
Мобильная версия | Lite версия