The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

20.05.2013 11:38

После года разработки представлена новая стабильная ветка языка программирования - Perl 5.18. В рамках подготовки нового выпуска было изменено около 400 тыс. строк кода, изменения затронули 2100 файлов, в разработке приняли участие 113 разработчиков.

Ветка 5.18 выпущена в соответствии с утверждённым три года назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. 20 июня планируется выпустить первый корректирующий релиз Perl 5.18.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.18.0. Одновременно с выходом Perl 5.18 прекращена поддержка ветки 5.14, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.19, на базе которой в мае 2014 года будет сформирован стабильный релиз Perl 5.20.

Ключевые улучшения, добавленные в Perl 5.18:

  • Переработанная реализация хэшей. Одним из самых заметных изменений является обеспечение рандомизации в используемых хэш-функциях, что положительно влияет на безопасность (например, защитит от DoS-атак через манипуляции с коллизиями хэшей), но приводит к непредсказуемому порядку вывода элементов функциями keys(), values() и each(). Данное изменение может повлиять на работу приложений, пользующихся недокументированным свойством сохранения порядка записей в разных хэшах (в официальной документации хэши позиционируется как неупорядоченные структуры). Отныне порядок следования идентичных записей в разных хэшах и в одних и тех же хэшах при разных запусках скрипта будут отличаться. Уровень рандомизации может быть настроен через переменную окружения PERL_PERTURB_KEYS (при присвоении значения 0 рандомизация ключей отключается и поведение perl становится как в прошлых выпусках).

    Из других изменений можно отметить реализацию возможности использования альтернативных хэш-функций. В качестве алгоритма хэширования по умолчанию задействован ONE_AT_A_TIME_HARD. Кроме того, в состав включено несколько альтернативных алгоритмов, но они, кроме SIPHASH, который считается безопасным, рекомендуются пока только для экспериментов, так как содержат определённые проблемы с безопасностью;

  • Новый механизм для активации экспериментальных возможностей и новая категория предупреждений "experimental", управляющая выводом уведомлений для тестовой функциональности. Например, для включения новых экспериментальных возможностей и скрытия связанных с ними предупреждений следует указывать директивы:
    
       no warnings "experimental::feature_name";
       use feature "feature_name"; 
    
  • Поддержка экспериментального расширения в системе регулярных выражений, позволяющего осуществлять сопоставления с использованием расширенных правил пересечения, исключения и объединения множеств символов. Например, '[A-Z - W]' - символы от A до Z за исключением W. Более сложный пример формирования множества символов: '[\\p{Latin} & \\p{L&} - A-Z]'. Функциональность совпадает по возможностям с модулем Unicode::Regex::Set;
  • Экспериментальная поддержка лексических подпрограмм ("lexical_subs"), позволяющая определять при помощи выражения "state sub" подпрограммы, видимые только в области лексической видимости блока в котором подпрограмма была создана. В отличие от "my sub" процедуры "state sub" работают заметно быстрее, так как они не создаются при каждом входе в блок и совместно используются между вызовами других подпрограмм;
  • Возможность использования в операторах next, last и redo динамически вычисляемых меток, формируемых в процессе выполнения скрипта на основе произвольного выражения. Ранее любые отличные от константы аргументы next, last и redo воспринимались как пустая строка;
  • В пространство имён "CORE::" включены функции defined, delete, exists, glob, pos, prototytpe, scalar, split, study и undef, т.е. теперь их можно переопределять стандартным способом без дополнительных ухищрений;
  • Поддержка Unicode 6.2 и реализация возможности определения собственных имён символов для использования в \\N{...}, charnames::vianame() и т.п. При задании имён могут быть задействованы знаки из диапазона Unicode, т.е. имена символов теперь можно определить не только на английском языке. Использование неизвестных имён символов в \\N{...} теперь приводит к ошибке, вместо предупреждения. Указание $/ = \\N для функции readline() теперь приводит к чтению N-символов, а не N-байт. Проведены заметные оптимизации скорости работы регулярных выражений в которых присутствуют Unicode символы, например, скорость выполнения операции \\X увеличилась на 35-40%;
  • Интеграция новых контрольных точек для использования в системе динамической отладки DTrace: op-entry, loading-file, loaded-file;
  • Добавлена новая служебная переменная ${^LAST_FH} для доступа к последнему прочитанному файловому дескриптору;
  • Вертикальная табуляция (\\cK) теперь отнесена к множеству символов пробела (\\s).
  • Обновлены версии большого числа входящих в базовую поставку модулей;
  • Объявлены устаревшими модули: encoding, Archive::Extract, B::Lint*, Devel::InnerPackage, Log::Message*, Module::Pluggable*, Object::Accessor, Pod::LaTeX, Term::UI*. Прекращена поддержка напрямую вызываемых из системной библиотеки функций для проверки класса символов, например, is_uni_alnum и т.п.; Прекращается поддержка платформ Windows CE, z/OS, DG/UX и NeXT;
  • В документацию по использованию модуля Storable добавлен пункт, предупреждающий о недопустимости десериализации данных, полученных из недоверительных внешних источников, так как в процессе подобной обработки можно организовать выполнение perl-кода и загрузку модулей;


  1. Главная ссылка к новости (http://www.nntp.perl.org/group...)
  2. OpenNews: Языку Perl исполнилось 25 лет
  3. OpenNews: Доступен интерпретатор языка программирования Perl 5.16
  4. OpenNews: Архиву Perl-модулей CPAN исполнилось 16 лет
  5. OpenNews: Релиз Perl 5.14
Лицензия: CC-BY
Тип: Программы
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (108) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, noize (ok), 12:35, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    В тред призываются "хоронители" перла. А я запасаюсь попкорном)
     
     
  • 2.13, arisu (ok), 13:20, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –19 +/
    > В тред призываются "хоронители" перла. А я запасаюсь попкорном)

    ну, вот он я. где же хвалёный пёрл6? когда же уже прекратят насиловать труп и осилят?

     
     
  • 3.15, sanchous (?), 13:25, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    надо было подготовиться хоть как-то
    про перл6 шутка не модная и давно заезженная
    здесь разговор про перл5 сейчас
     
     
  • 4.16, arisu (ok), 13:33, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –16 +/
    а я и не шучу, собственно. понятно, что у перлоидов от упоминания перл6 поппеншмерц. но я всё равно не шучу.
     
     
  • 5.20, noize (ok), 13:37, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Я не знаю, мне перл6 не очень-то нужен. Выпустят, посмотрим, что за зверь.
    Сейчас пишу на перле 5, мне его хватает с головой.
    Про "недостатки" знаю, 100500 раз уже обсасывалось. Повторюсь, меня всё устраивает. Менять на другой скриптовый язык в ближайшее время не планирую, параллельно изучаю C и C++
     
  • 5.41, sanchous (?), 15:44, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    упоминание перл6 доставляет только тролям навроде вас
    кому нужен язык для работы, просто используют перл5
    перл6 нет, и, видимо, не будет
    и что характерно, не сильно-то и надо

    > а я и не шучу, собственно. понятно, что у перлоидов от упоминания
    > перл6 поппеншмерц. но я всё равно не шучу.

     
     
  • 6.49, Аноним (-), 17:16, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > упоминание перл6 доставляет только тролям навроде вас
    > кому нужен язык для работы, просто используют перл5
    > перл6 нет, и, видимо, не будет
    > и что характерно, не сильно-то и надо
    >> а я и не шучу, собственно. понятно, что у перлоидов от упоминания
    >> перл6 поппеншмерц. но я всё равно не шучу.

    Для новичков не очевидно с чего этого перл6, автор которого ЛариВолл, не является следующей версией после перл5, автор которой всё тот же.
    Настанет момент когда он скажет что перл5 уродливый троль - деприкатед, и чё будем делать!??

     
     
  • 7.107, 80е (?), 00:23, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> деприкатед, и
    > чё будем делать!??

    Вы - делайте, что хотите.
    Нам на вас.

     
  • 3.22, Аноним (-), 13:42, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > ну, вот он я. где же хвалёный пёрл6? когда же уже прекратят насиловать труп и осилят?

    Perl6 - это совершенно другой язык, не имеющий никакого отношения к теме обсуждения.
    С тем же успехом вы могли спросить про JS или brainfuck.

     
     
  • 4.71, arisu (ok), 18:42, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Perl6 — это совершенно другой язык, не имеющий никакого отношения к теме
    > обсуждения.

    а я вижу в сочетаниях «perl5» и «perl6» четыре совпадающих символа из пяти.

    впрочем, это в стиле перлистов: чем бредовей всё, тем лучше. подумаешь, другой язык… а назовём-ка мы его тоже перл! чтобы, когда у нас спрашивают: «а где ваш brave new perl6?!» — можно было хитро отвечать: «а перл6 — это другой язык, не продолжение перла5 вообще. как мы вас всех срезали?!»

     
     
  • 5.90, rshadow (ok), 20:16, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Все очень просто. Perl6 взялись писать тролли. Из лучших побуждений наверно, но все же ничего хорошего не выходит. Только на форумах троллить могут.

    Так что все кто работают на перле ждут perl7.

     
  • 3.39, Anton (??), 15:41, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    perl6 это новый язык, а не следующая после perl5 версия perl.
     
     
     
     
     
    Часть нити удалена модератором

  • 7.97, nagual (ok), 20:30, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > волосы на ладонях от гвидобейсика растут. всем известно. а голых баб лучше
    > живьем щупать, нежели в тырнетах смотреть

    Ему еще рано, мама не разрешает.

     
  • 6.96, nagual (ok), 20:28, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > не путаю. мне просто ассемблером заниматься мама запрещает. говорит, что от этого
    > волосы на ладонях растут, и пусть я лучше голых баб в
    > интернетах смотрю.

    Ты до сих пор живешь с мамой ? 8)

     
     
  • 7.100, arisu (ok), 20:35, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты до сих пор живешь с мамой ? 8)

    и собираюсь продолжать это делать. можешь завидовать.

     
  • 4.94, AlexAT (ok), 20:27, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    air hosting uname -a Linux hosting 2 6 32-358 6 2 el6 x86_64 1 SMP Thu May... текст свёрнут, показать
     
     
  • 5.118, pro100master (ok), 10:14, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >x86_64 x86_64 x86_64 GNU/Linux

    а почему только 3 раза?)

     
     
  • 6.119, sokoloff (??), 10:58, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>x86_64 x86_64 x86_64 GNU/Linux
    > а почему только 3 раза?)

    Потому что архитектура i386, это 3 раза по 86

     
     
  • 7.120, pro100master (ok), 11:19, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>>x86_64 x86_64 x86_64 GNU/Linux
    >> а почему только 3 раза?)
    > Потому что архитектура i386, это 3 раза по 86

    да нет, чтобы из i386 получить x86_64 надо начертить круг, встать в его центр и 4 раза произнести "x86_64" ))

     

  • 1.3, 1 (??), 12:56, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Хммм ... а z/OS то, почему выпилили ?
     
  • 1.4, Аноним (-), 12:57, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Когда уже допилят этот несчастный Regex до полноценного языка программирования высокого уровня?
     
     
  • 2.5, Аноним (-), 12:59, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    чтобы любой текстушный бред на входе компилировал в бинарь, делающий что-то осмысленное и полезное.
     
     
  • 3.104, anonymous (??), 21:17, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > чтобы любой текстушный бред на входе компилировал в бинарь, делающий что-то осмысленное
    > и полезное.

    Fortran?

     
  • 2.9, Ag (ok), 13:07, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Грамматики Perl6 ждут вас. :)
     
  • 2.95, rshadow (ok), 20:28, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Баттхерт при виде регулярного выражения? Хочется немедленно удалить строку и расписать нормальным алгоритмом строк на 100? Попробуйте сменить профессию...
     
     
     
    Часть нити удалена модератором

  • 4.98, rshadow (ok), 20:31, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Жрать кактусы отнюдь не в духе перловиков. Ведь их зарплаты выше чем си, питон, пхп,...
     
  • 3.99, arisu (ok), 20:34, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Баттхерт при виде регулярного выражения? Хочется немедленно удалить строку и расписать
    > нормальным алгоритмом строк на 100? Попробуйте сменить профессию…

    батхёрт при виде того, как регулярки пытаются использовать для парзинга.

     

  • 1.7, codejumper (?), 13:01, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > приводит к непредсказуемому порядку вывода элементов функциями keys(), values() и each()

    давно обещали, наконец сделали
    теперь куча кода, которая полагалось на одинаковый порядок keys() и values() будет вести себя непредсказуемо

    > Возможность использования в операторах next, last и redo динамически вычисляемых меток

    welcome to spagetti code

    > Добавлена новая служебная переменная ${^LAST_FH}

    ещё одна возможность написать непонятный код
    возможно, пригодится при написании тестов к legacy-модулям

    а так молодцы

     
     
  • 2.11, Ag (ok), 13:11, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> приводит к непредсказуемому порядку вывода элементов функциями keys(), values() и each()
    > давно обещали, наконец сделали
    > теперь куча кода, которая полагалось на одинаковый порядок keys() и values() будет
    > вести себя непредсказуемо

    А нефиг полагаться на особенности реализации. В документации про это
    было явно сказано.
    Хотя видел тексты одного "индийского" дятла (на PL/SQL) где гражданин
    полагался на определенный порядок строк в результате SELECT-а
    без указания сортировки.
    Почти полгода процедура работала "правильно".


     
     
  • 3.117, oleg (??), 09:57, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению я тоже такое выдел.
     
  • 2.35, НуфНуф (?), 15:37, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В первом же абзаце perldata:
    Hashes are unordered collections of scalar values indexed by their associated string key.

    Они по-определению неупорядочены.

    Так что, если кто-то писал кучу кода, "которая полагалось на одинаковый порядок keys() и values()", то этот кто-то - дурак, не читающий доков.

     
     
  • 3.75, arisu (ok), 18:53, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    как показывает практика, доки мало кто читает. одно из самых красивых доказательств тому — не столь давнее изменение поведения memcpy(). стандарт не нарушен, man остался такой же — а у СуперПрограммеров дупы повыворачивало.
     
     
  • 4.127, НуфНуф (?), 17:05, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Перл таких не берут.
     
     
  • 5.131, arisu (ok), 19:08, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > В Перл таких не берут.

    их там разводят?

     
     
  • 6.136, nagual (ok), 21:49, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> В Перл таких не берут.
    > их там разводят?

    Ну откуда у вас в лексиконе такие слова ? Перлом пользуются высокообразованные люди которые пишут пограммы а не разводят бабушек на выборы гречкой.

     
     
  • 7.137, arisu (ok), 21:57, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а мне намного более удивительно, что может знать о культуре и высокообразованности человек, которому при виде слова «разводят» первым делом приходит в голову жаргонное значение слова, а не конвенциально-словарное.
     
     
  • 8.139, nagual (ok), 23:57, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не судите по себе всех ... текст свёрнут, показать
     
     
  • 9.140, arisu (ok), 00:55, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да я не о всех, а о тебе и не по себе 8212 это же не мне в голову приходит п... текст свёрнут, показать
     

  • 1.8, Ag (ok), 13:04, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Радуют.
    А вот с z/OS - неприятный сюрприз.
    Хоть и не часто, но требуется мне там Perl.
     
     
  • 2.10, noize (ok), 13:08, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажите, где используется данная система?
     
     
  • 3.12, Ag (ok), 13:13, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Подскажите, где используется данная система?

    На IBM mainframe - System/z.

     
     
  • 4.26, Аноним (-), 14:01, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Статуя Капитана Очевидности из чистого серебра в полный рост :D
     
  • 3.14, arisu (ok), 13:23, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Подскажите, где используется данная система?

    в Кровавом Интырпрайзе. Кровавый Интырпрайз любит только зарабатывать, а потратить немного заработанного на модернизацию — не любит. удавится скорее.

     
     
  • 4.24, Аноним (-), 13:44, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > в Кровавом Интырпрайзе. Кровавый Интырпрайз любит только зарабатывать, а потратить немного заработанного на модернизацию — не любит. удавится скорее.

    Сменить мейнфрейм на старый пенек, чтобы админам локалхостов не так завидно было?
    Действительно, и я бы пожадничал. Пусть локалхосты и дальше завидуют! :D

     
     
  • 5.73, arisu (ok), 18:46, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тихо, что ты контору палишь? всю еду распугаешь!
     
  • 2.18, Фигов (?), 13:35, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    use Perl5.16, Perl5.14 ...

    Welcome!

     
  • 2.68, ACCA (ok), 18:20, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот с z/OS - неприятный сюрприз.
    > Хоть и не часто, но требуется мне там Perl.

    Там как был 5.6, так и остался. Даже в z/Linux тоже 5.6.

     

  • 1.17, лох (?), 13:34, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Объявлены устаревшими модули
    > Прекращена поддержка

    теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости, приводя в контрпример перл.

     
     
  • 2.25, Аноним (-), 13:47, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости, приводя в контрпример перл.

    По сравнению с питоном - практически у любого языка хорошая обратная совместимость. В том числе и у перла.

     
     
  • 3.28, имя (?), 14:07, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    И эти люди идут потом в новости про PHP кричать, что он уродливый в том числе оттого, что из него кучу legacy всё никак не выкинут.
     
     
  • 4.51, Аноним (-), 17:18, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И эти люди идут потом в новости про PHP кричать, что он
    > уродливый в том числе оттого, что из него кучу legacy всё
    > никак не выкинут.

    Набралась куча легаси - замути новый язык, а старый не трожь.

     
     
  • 5.143, Мяут (ok), 09:15, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну Python2 и Python3 тоже как бы разные ветки языка. :)
     
  • 2.27, nagual (ok), 14:01, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Объявлены устаревшими модули
    >> Прекращена поддержка
    > теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости,
    > приводя в контрпример перл.

    А что у вас не работает ? Пример кода напишите.

     
  • 2.29, Crazy Alex (ok), 15:16, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В перле поддержка прекращается того, что либо некому поддерживать,либо того, что по факту сто лет как не используется. По "идеологическим" причинам ничего не выбрасывается.
     
  • 2.43, НуфНуф (?), 15:51, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости,
    > приводя в контрпример перл.

    Боюсь в этом споре ничего не изменилось: в питоне действительно отсутствует обратная совместимость между версиями. В перле она есть. Если вы потрудитесь перечитать новость - поймете сами.

     
     
  • 3.50, Аноним (-), 17:17, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Если вы потрудитесь перечитать новость - поймете сами.

    Читать новость - значит отступать от юникс-вея (который описывается принципом "не читал, но осуждаю").

     
  • 3.59, ДругойАноним (?), 17:41, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >> теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости,
    >> приводя в контрпример перл.
    > Боюсь в этом споре ничего не изменилось: в питоне действительно отсутствует обратная
    > совместимость между версиями. В перле она есть. Если вы потрудитесь перечитать
    > новость - поймете сами.

    ну-ну. перечитываю новость:

    """
    ...Использование неизвестных имён символов в \N{...} теперь приводит к ошибке, вместо предупреждения. Указание $/ = \N для функции readline() теперь приводит к чтению N-символов, а не N-байт...
    """

    опять "перл самый лучший"?! фанатики такие фанатики))

     
     
  • 4.63, Аноним (-), 18:01, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > """
    > ...Использование неизвестных имён символов в \N{...} теперь приводит к ошибке, вместо предупреждения.
    > Указание $/ = \N для функции readline() теперь приводит к чтению
    > N-символов, а не N-байт...
    > """

    А теперь сравните это со списком изменений python2 -> python3. Только сковородку подложите, чтобы стул не прожечь =)

     
     
  • 5.74, arisu (ok), 18:48, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > А теперь сравните это со списком изменений python2 -> python3.

    а зачем? питон3 — это другой язык, а не следующая версия питон2. ребятушки, это же ваш любимый аргумент про перл6, и вы так глупо подставляетесь.

     
     
  • 6.76, Чтец (?), 19:02, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пытаюсь понять почему вы пишете о вещах, о которых не имеете бледного понятия. Perl6 - именно, что другой язык, отличающийся от классического Перла ОЧЕНЬ сильно. Между версиями Питона ничего принципиального не менялось. Если не считать поломаной совместимости, конечно :)
     
     
  • 7.81, arisu (ok), 19:24, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    может, потому, что у меня не «бледное» понятие.
     
  • 2.46, Grammar (?), 16:32, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > теперь хотелось бы услышать перловодов, которые обвиняли питон в отсутствии обратной совместимости, приводя в контрпример перл.

    PERL_PERTURB_KEYS (при присвоении значения 0 рандомизация ключей отключается и поведение perl становится как в прошлых выпусках).

    Теперь, питоновод, объясни как в питоне вернуть старое поведение хоть для чего-нибудь?

     
     
  • 3.47, Аноним (-), 17:03, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    если совместимость python2 и 3, то "six"

    если о возможностях в новых версиях:
    from __future__ import ...


    в остальном философия языка другая, в питоне определенная вещь решается оптимизированно и определенно, он не подталкивает к разброду и шатанию по дебрям.

     
     
  • 4.60, www2 (ok), 17:43, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >определенная вещь решается оптимизированно и определенно

    И что это за такая тавтологически определённая вещь?

    В Советском Союзе тоже всё было во имя и на благо человека. Некоторые даже догадывались, о каком именно человеке шла речь.

     
     
  • 5.88, nagual (ok), 20:12, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >>определенная вещь решается оптимизированно и определенно
    > И что это за такая тавтологически определённая вещь?
    > В Советском Союзе тоже всё было во имя и на благо человека.
    > Некоторые даже догадывались, о каком именно человеке шла речь.

    Тонкий вброс расчитанный на школоту ? Форумом не ошиблись ?

     
     
  • 6.103, rshadow (ok), 20:48, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Он не может ошибиться форумом. Для этого нужно понимать о чем говоришь.
     
  • 4.102, rshadow (ok), 20:47, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > from __future__ import ...

    Так значит они додумались сделать как в перле

       use feature ...

    еще бы так же лаконично смотрелось как в перле

     
     
  • 5.105, ragus (ok), 21:35, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >еще бы так же лаконично смотрелось как в перле

    кстати, о импортах.

    возможна ли в perl конструкция вида import foo as bar

    например, заменить штатные регекспы альтернативной версией(например, гугловский re2)?

     
     
  • 6.106, noize (ok), 22:25, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В перле регэкспы встроены в ядро. Менять их ни на что не нужно.
     
     
  • 7.110, ragus (ok), 07:25, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну-ну смотрим http snowplow org martin rebench CODE bench perl rebench... текст свёрнут, показать
     
     
  • 8.111, arisu (ok), 07:37, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    сравнивать pcre и re2 как минимум некорректно они не полностью взаимозаменяемы ... текст свёрнут, показать
     
     
  • 9.112, ragus (ok), 07:52, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    да, я в курсе и лишь хотел показать пример зачем вообще это нужно и как легко... текст свёрнут, показать
     
     
  • 10.113, arisu (ok), 07:56, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    дык в перле, в принципе, никто не мешает использовать другие движки но обычно в... текст свёрнут, показать
     
  • 8.114, noize (ok), 09:06, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    This test was performed using stock cygwin installs of perl 5 8 7, python 2 4 ... текст свёрнут, показать
     
     
  • 9.115, ragus (ok), 09:09, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    выше цифры тестов, запущенные на моем десктопе core i7 3770 32Gb ram, с выключе... текст свёрнут, показать
     
     
  • 10.122, noize (ok), 11:49, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    эмм подскажите, а где взять эти re2 и regexp Хочу протестировать... текст свёрнут, показать
     
     
  • 11.128, ragus (ok), 17:39, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    pip install regex pip install re2 ... текст свёрнут, показать
     
     
  • 12.134, noize (ok), 21:34, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    regex однако впечатлил Поставить re2 мне не удалось, так как требуется тянуть б... текст свёрнут, показать
     
  • 10.125, VVM (ok), 13:28, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ядро предпоследнее -- актуально v3 9 3 2013-05-19 Perl 5 14 X -- специально ... текст свёрнут, показать
     
  • 9.116, arisu (ok), 09:14, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    да хоть столетней 8212 бэктрекинговые движки просто в силу алгоритма будут то... текст свёрнут, показать
     
     
  • 10.123, noize (ok), 12:01, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    прежде чем сказать глупость, проверили бы сами Я не поленился и тоже скачал скр... текст свёрнут, показать
     
     
  • 11.124, arisu (ok), 12:04, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вздыхает я вообще не считаю Новый Whitespace нормальным языком и речь я вёл в... текст свёрнут, показать
     
  • 11.129, ragus (ok), 17:50, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    всё это есть в тестах выше но я уже писал, что import regex as re и с LOOPS 10... текст свёрнут, показать
     
     
  • 12.135, noize (ok), 21:38, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    возможно Но в перле регулярки использовать удобно Повторюсь, они встроены в яд... текст свёрнут, показать
     
     
  • 13.141, ragus (ok), 06:48, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    смысл практический в этом hardcoded pattern ы нет смысла в регекспах внутри я... текст свёрнут, показать
     
     
  • 14.142, noize (ok), 09:03, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а в чём вообще смысл использования регулярных выражений никто в здравом уме не ... текст свёрнут, показать
     
     
  • 15.144, ragus (ok), 09:18, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    достаточно редкие ситуации, когда нет желания писать полноценный парсер или же к... текст свёрнут, показать
     
     
  • 16.145, noize (ok), 10:07, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я не знаю как в питоне, но в разработке на перле мне периодически, не так уж и р... текст свёрнут, показать
     
     
  • 17.148, ragus (ok), 01:20, 23/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    например никакого усложнения если изначально писать нормально и использовать ... текст свёрнут, показать
     
  • 16.146, angra (ok), 16:39, 22/05/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смешно Настолько смешно, что даже объяснять что-либо не хочется Если вы не ум... текст свёрнут, показать
     
     
  • 17.147, ragus (ok), 01:01, 23/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    еще раз 1 вы переоцениваете важность регекспов 2 пример выше про легкость зам... текст свёрнут, показать
     
     
  • 18.151, angra (ok), 08:18, 23/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Стандартное заблуждение тех, кто их толком не освоил Также не исключен вариант,... текст свёрнут, показать
     
  • 6.108, rex (??), 00:50, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    можно, но сам не пробовал; задач для которых это критично не было
     
  • 6.121, Фигов (?), 11:34, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    http://search.cpan.org/~dgl/re-engine-RE2-0.11/lib/re/engine/RE2.pm

    Наслаждайся.

    ЗЫ
    На YAPC::2012 чувак делал про это движок довольно подробный доклад. Думаю можешь найти в сети.

     
     
  • 7.130, ragus (ok), 17:54, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > http://search.cpan.org/~dgl/re-engine-RE2-0.11/lib/re/engine/RE2.pm
    > Наслаждайся.
    > ЗЫ
    >  На YAPC::2012 чувак делал про это движок довольно подробный доклад. Думаю
    > можешь найти в сети.

    ну хоть один хороший и правильный коммент :))

     
  • 6.138, angra (ok), 22:03, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > возможна ли в perl конструкция вида import foo as bar

    В perl возможно все, чаще всего минимум двумя способами. Спрашивать, есть ли в perl что-то из python, можно только смеху ради. Конкретно эта фича легко реализуется за счет того, что таблицы символов это просто хеши и работает конструкция вида %Bar::=%Foo::

     
     
  • 7.149, ragus (ok), 01:35, 23/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    как бы при импорте много чего происходит, а не только модификация таблицы символ... текст свёрнут, показать
     
     
  • 8.150, arisu (ok), 01:59, 23/05/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    у перла хаки 8212 штатная возможность же ... текст свёрнут, показать
     
  • 5.109, web (?), 02:55, 21/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    такая конструкция в питоне с 2000 года.
     

     ....нить свёрнута, показать (51)

  • 1.19, Фигов (?), 13:37, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Главное достижение - никаких революций, молодцы.

    И это правильно. Работать надо, а не код из-за версий перелопачивать.


     
  • 1.33, Аноним (-), 15:23, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    по мне, так из перла уже ничего делать не нужно, т.к. наворочено не просто много, а ооочень много! куда не плюнь, везде его применять можно, хоть веб, хоть сервер дшспи написать.
     
     
  • 2.34, Аноним (-), 15:31, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот и суют куда барбос свой хер не совал, почем зря
     
     
  • 3.53, Аноним (-), 17:20, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > вот и суют куда барбос свой хер не совал, почем зря

    Это вы про shell-скрипты?

     

  • 1.40, Anton (??), 15:43, 20/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жаль что smartmatch объявили экспериментальным (с выдачей warning при его использовании). Возможность удобная.
     
     
  • 2.52, Аноним (-), 17:19, 20/05/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Жаль что smartmatch объявили экспериментальным (с выдачей warning при его использовании).
    > Возможность удобная.

    Ну так присоединитесь к проекту и отладьте ее до стабильного состояния, делов-то.

     

  • 1.126, mahoro (??), 16:25, 21/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Он не интерпретатор, а компилятор :)
     
  • 1.152, iZEN (ok), 21:10, 23/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сегодня случайно узнал, оказывается есть версия Perl новее 5.16. Обновил до версии perl-5.18.1_1 и модули p5-*, сейчас пересобираются зависимости. В чём преимущества крайней версии, кто-нибудь ощутил?
     
     
  • 2.153, arisu (ok), 02:46, 24/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Сегодня случайно узнал, оказывается есть версия Perl новее 5.16.

    brilliant!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру