URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 77126
[ Назад ]

Исходное сообщение
"Релиз Perl 5.14"

Отправлено opennews , 15-Май-11 11:36 
После года разработки представлена (http://news.perlfoundation.org/2011/05/perl-514.html) новая стабильная ветка языка программирования - Perl 5.14 (http://search.cpan.org/~jesse/perl-5.14.0/). Одновременно объявлено о прекращении поддержки ветки Perl 5.10. В рамках подготовки релиза 5.14 было изменено около 550 тыс. строк кода, в разработке приняли участие 150 разработчиков. Ветка 5.14 выпущена в соответствии с принятым в прошлом году новым фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца.


Ключевые улучшения (http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod), добавленные в Perl 5.14:

-  Поддержка Unicode 6.0 и реализация значительной порции общих улучшений, связанных с поддержкой Unicode. Например, полностью обеспечена поддержка режима "use feature 'unicode_strings' (http://search.cpan.org/~jesse/perl-5.14.0/lib/feature.pm#the...)" при котором все строк...

URL: http://news.perlfoundation.org/2011/05/perl-514.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=30562


Содержание

Сообщения в этом обсуждении
"Релиз Perl 5.14"
Отправлено szh , 15-Май-11 11:36 
# Uses less memory and CPU than previous releases

было бы интереснее узнать подробнее.


"Релиз Perl 5.14"
Отправлено szh , 15-Май-11 21:52 
http://search.cpan.org/dist/perl-5.14.0-RC1/pod/perldelta.po...

> В движке регулярных выражений увеличена производительность операций сравнения строк и компиляции регулярных выражений.

живут на тормозном движке в то время как гугл уже оплатил решение проблемы: http://blog.chromium.org/2009/02/irregexp-google-chromes-new...
http://swtch.com/~rsc/regexp/regexp1.html


"Релиз Perl 5.14"
Отправлено anonymous , 16-Май-11 07:21 
> живут на тормозном движке в то время как гугл уже оплатил решение

ага. только ты про ограничения почитай ещё, а не только там, где про скорость пишут. в итоге придётся тянуть с собой два движка, и оба тестировать.


"Релиз Perl 5.14"
Отправлено szh , 16-Май-11 15:22 
в irregexp этих ограничений насколько я понимаяю нет.
В хроме regexp быстрее в 10 раз чем на перле 5.10 в моих тестах с большими регекспами.

"Релиз Perl 5.14"
Отправлено Аноним , 16-Май-11 21:32 
Ты почитай сначала, а то твоему "пониманию" грошь цена.

У Яндекса есть pire, который рвёт и гугловскую поделку, но также со своими ограничениями. Замены перловым регуляркам с теми же возможностями и большей производительностью нет.


"Релиз Perl 5.14"
Отправлено szh , 17-Май-11 13:37 
Ты путаешь Irregexp c RE2, так что иди почитай сначала.

Мои сложные regexp'ы в javascript Chromium в 10 раз быстрее чем в perl 5.10, при почти или полной совместимости.


"Релиз Perl 5.14"
Отправлено Kai , 15-Май-11 13:49 
Подскажите, есть ли простой способ бороться с кодировкой в скрипте который должен работать и в linux и в windows? А то есть проблемы с кодировкой путей к файлам.  В Linux они в utf8 в винде в cp1251. Есть что нибудь простое решение на эту тему?

"Релиз Perl 5.14"
Отправлено Vitold S , 15-Май-11 14:08 
Самый простой способ написать свой декоратор для классав. Я в Perl уже давно не практикуюсь(по идеологических соображениям), но думаю идея понятна...

"Релиз Perl 5.14"
Отправлено Я не забыл заполнить поле Имя , 15-Май-11 21:20 
>Самый простой способ написать свой декоратор для классав.

) Тонкий вброс питониста. Декораторы классов в perl.


"Релиз Perl 5.14"
Отправлено Аноним , 17-Май-11 13:39 
Простите, штоу? http://perldesignpatterns.com/?DecoratorPattern

А если вы про декораторы как в гвидобейсике, то они тоже есть: http://search.cpan.org/perldoc?Python::Decorator


"Релиз Perl 5.14"
Отправлено Я не забыл заполнить поле Имя , 18-Май-11 21:52 
Базару нет! Ты умнее меня.  
Только второе не является декоратором классов, хоть и работает именно так каким было предложение, а первое хоть все слова совпали, но совсем о другом, по сути это замена субклассов.

>гвидобейсик

Не осилил бедняга.


"Релиз Perl 5.14"
Отправлено angra , 15-Май-11 17:59 
Любопытно было бы глянуть на пример проблемного кода. У меня все работает без дополнительных телодвижений.

"Релиз Perl 5.14"
Отправлено Kai , 16-Май-11 00:14 
Проблема начинается когда под виндой хранишь пути к файлам в UTF8 хранилище. Их надо конвертировать в cp1251 иначе не находит эти пути. Т.е. в базе оно в нормальном виде, в скрипте тоже нормально (в юникоде) а как только передаешь в функции типа open или readdir - не работает.

"Релиз Perl 5.14"
Отправлено letsmac , 16-Май-11 08:46 
А использовать  прямо unicode-версии API-функций не выходит? Запросто винда может считать приложение на perl не unicode и посылать по умолчанию на неюникод.

"Релиз Perl 5.14"
Отправлено Kai , 16-Май-11 17:33 
Это как? Вместо родного readdir юзать что-то из Windows32:: ?

"Релиз Perl 5.14"
Отправлено Аноним , 15-Май-11 21:39 
Ршения нет, так как такой проблемы не существует.

"Релиз Perl 5.14"
Отправлено Kai , 16-Май-11 00:14 
> Ршения нет, так как такой проблемы не существует.

У меня существует.


"use Cygwin;"
Отправлено petr999 , 16-Май-11 12:29 
Есть жизнь на Марс^WMs-windows, но только в скафандре (марки cygwin). Там вам и locale и perl.

"Релиз Perl 5.14"
Отправлено fi , 16-Май-11 13:51 
> в винде в cp1251.

Это не совсем правда, там utf-16 для ntfs и cp866 для старого fat.


"Релиз Perl 5.14"
Отправлено brother anon , 16-Май-11 16:50 
Не путай кодировку в которой хранятся имена в ФС и кодировку в которой предоставлется API для работы с файлами

"Релиз Perl 5.14"
Отправлено Vitold S , 15-Май-11 14:05 
Опять буджт конфликт в FreeBSD. Постоянно будут пакеты требовать Perl 5.14. Скорее бы уже BSD-шники придумали как без него обойтись в портах...

"Релиз Perl 5.14"
Отправлено kibab , 15-Май-11 16:51 
Задать PERL_VERSION в make.conf, не?

"Релиз Perl 5.14"
Отправлено Аноним , 15-Май-11 21:39 
FreeBSD - единственная система, где это по-человечески решено. Во-первых, в make.conf указывается версия, во-вторых, есть perl-after-update, который быстро и безпроблемно обновляет все модули.

"Релиз Perl 5.14"
Отправлено fsck , 16-Май-11 08:22 
В Gentoo проще, make.conf трогать не нужно.

"Релиз Perl 5.14"
Отправлено Клыкастый , 16-Май-11 17:48 
в FreeBSD тоже. Есть портапгрейд.

Но попутно - а что make.conf так сложно устроен, так страшно вызвать vi /etc/make.conf?


"Релиз Perl 5.14"
Отправлено Аноним , 16-Май-11 21:35 
> В Gentoo проще, make.conf трогать не нужно.

Зато нужен какой-нибудь eselect, что то же самое.


"Релиз Perl 5.14"
Отправлено Papa , 16-Май-11 12:50 
Толсто

"Релиз Perl 5.14"
Отправлено vadiml , 15-Май-11 17:59 
Похоже наконец-таки довели до ума работу с utf8 -- такое поведение надо было реализовывать изначально.

"Релиз Perl 5.14"
Отправлено szh , 15-Май-11 21:39 
ага, не сразу я узнал что вот это:
y/[A-Z]ÄäËëÖöÜüßÇçÉéÊêÈèÁáÂâÀàÚúÛûÙùÏïŸÿ/[a-z]aaeeoouubcceeeeeeaaaaaauuuuuuiiyy/;
работает не так, как я думал.

"Релиз Perl 5.14"
Отправлено Аноним , 15-Май-11 21:41 
> работает не так, как я думал.

.../a же.


"Релиз Perl 5.14"
Отправлено szh , 15-Май-11 22:27 
y/../../a  ???  perl 5.10: Execution of aborted due to compilation errors.

"Релиз Perl 5.14"
Отправлено Аноним , 16-Май-11 21:35 
> y/../../a  ???  perl 5.10: Execution of aborted due to compilation
> errors.

Заголовок новости читал?


"Релиз Perl 5.14"
Отправлено KOL , 16-Май-11 10:06 
>В экспериментальном режиме все оперирующие с массивами и хэшами функции теперь поддерживают указание ссылки на переменную

Не знаю, хорошо это или плохо. Вроде бы удобнее и быстрее писать, но потом пойди разберись где у тебя ссылки, а где скаляры.


"Релиз Perl 5.14"
Отправлено 21343431 , 16-Май-11 14:05 
Это же пока для стандартных функций, вы же и так знаете, что они принимают в качестве параметров, так что тут ничего страшного.

"Релиз Perl 5.14"
Отправлено Аноним , 16-Май-11 21:41 
> Не знаю, хорошо это или плохо. Вроде бы удобнее и быстрее писать,
> но потом пойди разберись где у тебя ссылки, а где скаляры.

Зачем разбираться? Ни одна из функций push/pop/shift/each/keys/..., которые это затронуло, не принимает скаляр. Зато конструкции типа push @{return_some_arref()} становятся гораздо читабельнее.