The OpenNET Project / Index page

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

31.05.2017 07:41  Релиз языка программирования Perl 5.26.0

После года разработки состоялся релиз новой стабильной ветки языка программирования Perl - 5.26. При подготовке нового выпуска было изменено около 360 тыс. строк кода, изменения затронули 2600 файлов, в разработке приняли участие 86 разработчиков.

Ветка 5.26 выпущена в соответствии с утверждённым пять лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.26.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.26.0. Одновременно с выходом Perl 5.26 прекращена поддержка ветки 5.22, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.27, на базе которой в апреле или мае 2018 года будет сформирован стабильный релиз Perl 5.28.

Новый выпуск включает в себя три существенных изменения, на которые следует обратить внимание в первую очередь:

  • Из соображении безопасности текущая директория "." по умолчанию больше не дополняется в виде последнего элемента в @INC. Такое поведение в отношении @INC теперь аналогично тому как если бы ранее был активирован режим "Taint" (ключ запуска "-T"). Данная схема может создать проблемы при сборке, тестировании, установке модулей и исполнении скриптов. Существует несколько простых способов вернуть прежнее поведение perl:
    • Схема отключения реализована через включение по умолчанию опции "-Udefault_inc_excludes_dot" для Configure. Поэтому если можно аннулировать значение "-Udefault_inc_excludes_dot" для Configure и пересобрать perl;
    • Perl проверяет переменную окружения PERL_USE_UNSAFE_INC в момент запуска и если переменная определена, то в @INC будет добавлен "." как прежде (как пример: alias perl="env PERL_USE_UNSAFE_INC=1 perl");
    • Если допустимо добавление "." первым элементом в @INC, то можно использовать схему perl -I. (например alias perl="perl -I." в рабочей сессии окружения)
  • Оператор "do" теперь выдает предупреждения на попытку загрузки файла который не нашелся в @INC без ".", но обнаружился в текущей директории. Файл может быть загружен путем явного указания пути: 'do "./file.pl"'. Выполнение с "-I." и использование PERL_USE_UNSAFE_INC не приводит к предупреждениям при использовании do.
  • В регулярных выражениях открывающая фигурная скобка "{" должна быть экранирована или заключена в определитель класса "[{]". Данное нововведение дает возможность для реализации новых конструкции в регулярных выражениях в будущем. В perldiag в секции "Unescaped left brace in regex is deprecated here" можно найти детали, например, о случаях когда "{" может не экранироваться.


Ключевые изменения:

  • С процедур лексической области видимости введенных в 5.18 снят статус экспериментальной возможности. Попытка определить лексическую процедуру больше не приведет к ошибкам и предупреждению. Изменения введены таким образом, что сохранена обратная совместимость с ранее использованными схемами через использование "experimental::lexical_subs" и "lexical_subs" из "feature". Включение "lexical_subs" через "feature" не прервет выполнение программы, так как сохранилось в виде бездействующей заглушки и лексические процедуры теперь доступны всегда в областях видимости без их явного включения;
  • Введена поддержка выравнивания встроенных документов (here-documents). Новый модификатор "~", добавленный в синтаксис объявления here-документов, дает понять синтаксическому анализатору, что в коде встроенный документ будет выровнен на величину пробельного символа (символы из группы whitespace). Это позволяет определить в программе следующую конструкцию которая выглядит без нарушения вложенности:
    
       if (1) {
         print ‹‹~EOF;
           Hello there
           EOF
       }
    

    Обратите внимание на то, что лексический анализатор в процессе поиска лексем будет, во-первых, проверять выравнивание строк, и, во-вторых, удалять с начала строки here-документа такую же подстроку которая предшествует закрывающему элементу here-документа. То есть если в нашем примере перед EOF стоит "\t", то перед 'Hello there' будет попытка удалить "\t". Анализатор сообщит об ошибке выравнивания here-документов если перед "Hello there" не будет "\t". Если будет два или более "\t" перед "Hello there", то удалится только один;

  • Новый модификатор регулярного выражения "/xx" который является своего рода "усиленной формой /x". Работает также как и "/x" с той лишь разницей, что с модификатором "/xx" в регулярном выражении игнорируются неэкранированные символы пробела и табуляции в определителе класса символов "[]".
    Пример: выражение " q"=~/^[^1 2]q/x не даст результат того, что кроме 1 и 2 определен пробел в [^1 2]
    а выражение " q"=~/^[^1 2]q/xx даст результат, так как пробел в [^1 2] игнорируется и снова выражение " q"!~/^[^1\ 2]q/xx дает результат;
  • Новые переменные "@{^CAPTURE}", "%{^CAPTURE}" и "%{^CAPTURE_ALL}" для захвата результата работы регулярного выражения:
    • "@{^CAPTURE}" - массив включающий в себя $1, $2 и т.д. по порядку; пример: "asdf"=~/a(s)d(f)/o даст 's' и 'f' в массив;
    • "%{^CAPTURE}" - эквивалент "%+", использующийся для именованного захвата;
    • "%{^CAPTURE_ALL}" эквивалент для "%-", использующийся для всех именованных захватов (от автора: мне не удалось установить соответствие "%{^CAPTURE_ALL}" и "%-", похоже, что "%{^CAPTURE}" и "%{^CAPTURE_ALL}" синонимы; не исключено, что это ошибка, требуется перепроверка).
  • Новая экспериментальная конструкция: объявление ссылок на переменную. В Perl 5.22.0 была введена экспериментальная конструкция присваивания к ссылке ("use feature 'refaliasing'"), которая позволяет определить псевдоним. Как логическое продолжение данной идеи теперь реализована возможность объявления ссылки на переменную в виде "my \$x" (эквивалент "\my $x"). Данная возможность включается через "use feature 'declared_refs'" и позволяет использовать схему "my ($foo, \@bar, \%baz)" - эквивалентен записи my $foo, \my(@bar, %baz). Обе схемы работают с my(), state(), our() и local();
  • Поддержана спецификация Unicode 9.0. Поддержка модулями из core Perl реализована через приведение нормализатора форм Unicode::Normalize к соответствию стандарту Unicode 9.0;
  • На платформах которые поддерживают UTF-8 по умолчанию для сопоставления данных теперь используется кодировка UTF-8. Для портируемости рекомендуется использовать Unicode::Collate. Подробности в разделе "Category LC_COLLATE: Collation: Text Comparisons and Sorting" в perllocale;
  • Возможность косвенного вызова функций интерпретатора perl для массивов и хэшей. Функции обработки массивов и хешей (keys, each, values, push, pop, shift, unshift и splice) пространства имен CORE могут быть вызваны как через форму с префиксом "&" (&CORE::keys(\%hash)), так и косвенным вызовом (my $k = \&CORE::keys; $k->(\%hash)). До 5.26.0 эти формы приводили к ошибке выполнения;
  • Новый алгоритм хэширования для 64-битных сборок. Для лучшей производительности реализована схема гибридного хэширования: для коротких ключей до 16 бит включительно используется оптимизированный вариант алгоритма "One At A Time Hard", для длинных ключей используется "Siphash 1-3". Данная схема показала значительный прирост в производительности для очень длинных ключей и умеренный прирост для остальных случаев.


Изменения, нарушающие совместимость:

  • Конструкция scalar(%hash) теперь возвращает количество использованных ключей аналогично 0+keys(%hash). Информация об использованных и выделенных блоках теперь доступна через Hash::Util::bucket_ratio() (функция работает аналогично конструкции scalar(%hash) до версии 5.26);
  • Запрещено изменение значения возвращаемого функцией keys из lvalue-программы в контексте списка (bug #128187);
  • Удалена объявленная ранее устаревшей переменная "${^ENCODING}" и прекращена поддержка режима "use encoding ['ENCNAME']" в пользу использования UTF-8 по умолчанию. В случаях когда требуется использовать исходный код который представлен в кодировке отличной от UTF-8 рекомендуется использовать source-фильтры как Filter::Encoding из CPAN, либо использовать опцию Filter модуля encoding;
  • Удалена реализация небезопасной функции POSIX::tmpnam(), объявленной устаревшей в версии 5.22. Теперь она выдает ошибку с рекомендацией по использованию модуля File::Temp;
  • Запрещено использование модулей, начинающихся с двух двоеточий. Схема "require ::Foo::Bar" ранее приводила к попытке чтения модуля /Foo/Bar.pm. Схема загрузки по require "/Foo/Bar.pm" осталась без изменении;
  • Запрещено использование управляющих литералов в именах переменных в исходном коде (bug #119123), так как это приводит к непоправимым ошибкам в исходном коде и создает код, непереносимый на другие платформы.
  • В именах символов "\N{...}" больше не разрешается использовать неразрывный (NBSP) пробел. Такое использование было объявлено устаревшим в версии 5.22;


Оптимизации производительности:

  • Выражение с хэшем в булевом контексте иногда может вычислиться быстрее "if (!%h) {...}";
  • Гибридная хэш-функция для 64-битных сборок (детали описаны выше по тексту);
  • Функции для чтения файла по строкам "readline()" и "‹>" улучшена за счет ускорения кода поиска вхождения следующего символа новой строки;
  • Присваивание ссылок "$ref1 = $ref2" оптимизировано для некоторых случаев;
  • Удалены некоторые исключения для создания COW-строк, поскольку алгоритм наращивания буфера был значительно переработан, что существенно снизило вероятность невозможности создания COW-строк при котором происходит вынужденное копирование;
  • Оптимизация присваивания массивов и хешей; пример кода который оказался втрое быстрее, чем реализация в версии 5.24:
    
        my @a;
        for my $i (1..10_000_000) {
          @a = (1,2,3);
          @a = ();
        }
    
  • Значительно ускорена конвертация односимвольной строки состоящей из цифры в число;
  • Функция split теперь быстрее в следующих случаях:
    
        my    @a = split ...;
        local @a = split ...;
    


Важные изменения в CORE-модулях:

  • attributes => 0.29; атрибуты ":unique" и ":locked" будут удалены в выпуске Perl 5.28.
  • Data::Dumper => 2.167; в XS-реализации появилась поддержка Deparse.
  • Errno => 1.248; указано, что использование "%!" приводит к автоматической загрузке модуля Errno.
  • File::Glob => 1.28; выдает предупреждение о том, что использование File::Glob::glob() является устаревшим.
  • HTTP::Tiny => 0.070; каскад ошибок с кодом 599 теперь включает историю редиректов.
  • Net::Ping => 2.55; реализована поддержка IPv6-адресов и AF_INET6-сокетов.
  • POSIX => 1.76; интерфейс POSIX::tmpnam() удален. Кроме этого удалён ряд функций: POSIX::isalnum, POSIX::isalpha, POSIX::iscntrl, POSIX::isdigit, POSIX::isgraph, POSIX::islower, POSIX::isprint, POSIX::ispunct, POSIX::isspace, POSIX::isupper, POSIX::isxdigit, POSIX::tolower, POSIX::toupper. Попытка импорта этих функции выдаст ошибку компиляции а не исполнения.
  • re => 0.34; добавлена поддержка модификатора "/xx" (описано выше); режим strict модуля 're' объявлен экспериментальным.
  • Thread::Semaphore => 2.13; добавлен метод down_timed (попытка выполнить операцию декремента на счетчике семафора за определенное время).
  • Time::HiRes => 1.9741; теперь собирается на системах с компиляторами, соответствующим стандарту C++11 (G++ 6 and Clang++ 3.9). Задействовано использование clockid_t.
  • XSLoader => 0.27; обновление безопасности, закрывающее уязвимость, которая позволяла загрузить двоичные образы за пределами @INC.


Прочие изменения:

  • Новый раздел документации perldeprecation, который содержит всю информацию о конструкциях, объявленных устаревшими.
  • Утилиты c2ph и pstruct удалены из дистрибутива, так как давно были замененными утилитой h2xs.
  • Perl может быть скомпилирован и запущен в порте NetBSD для платформы VAX, но с некоторыми ограничениями из-за особенностей платформы. Сборка показывает 98% успешных тестов.
  • Реализована возможность сборки Perl компилятором Visual C++ 14.0 из состава пакета Microsoft Visual Studio 2015.
  • На платформе Linux перестал поддерживаться устаревший формат a.out, так как формат elf используется в Linux уже более 20 лет.


  1. Главная ссылка к новости (http://www.nntp.perl.org/group...)
  2. OpenNews: Первый выпуск компилятора Perl 5 в JVM от проекта Perlito
  3. OpenNews: Выпуск Rakudo Star 2017.04, дистрибутива Perl 6
  4. OpenNews: Релиз языка программирования Perl 5.24.0
  5. OpenNews: Состоялся рождественский релиз Perl 6
  6. OpenNews: Релиз языка программирования Perl 5.22.0
Автор новости: Аноним
Тип: Программы
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 09:37, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +13 +/
    Ура, товарищи!
     
  • 1.2, Аноним (-), 09:57, 31/05/2017 [ответить] [показать ветку] [···]     [к модератору]
  • +4 +/
    Традиция не ходить на работу на следующий день после релиза Perl Как всегда чер... весь текст скрыт [показать]
     
     
  • 2.3, ПерлухаБратуха (?), 10:07, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > Всех еще раз поздравляю с релизом Perl 5.25!!!

    Шта?

     
     
  • 3.4, Аноним (-), 10:10, 31/05/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    Ну переутомился человек, чего непонятного.
     
     
  • 4.49, Аноним (-), 18:16, 31/05/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, я просто опечатался Я весь день активно в коде копался, разобрался только к... весь текст скрыт [показать]
     
  • 3.14, Andrey Mitrofanov (?), 11:14, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    >> Всех еще раз поздравляю с релизом Perl 5.25!!!
    >  Шта?

    Так 25ый он уже проверил и обобряет. А этот за одну ночь не успел.%))

     
  • 3.47, Аноним (-), 18:08, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    Очевидно же что Perl 5.25 релизнулся в Perl 5.26 :)
     
  • 1.6, Michael Shigorin (ok), 10:26, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Эк рванул старик ;-)
     
  • 1.7, istepan (ok), 10:35, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Где сейчас Perl используется?
     
     
  • 2.11, Аноним (-), 11:07, 31/05/2017 [^] [ответить]    [к модератору]  
  • +12 +/
    Везде по чуть-чуть. Ровно по столько, чтобы было необходимо ставить перл на любую систему.
     
     
  • 3.51, _ (??), 19:12, 31/05/2017 [^] [ответить]     [к модератору]  
  • –7 +/
    Его даже в линуксах по дефолту нет о чём ты болезный - Оно там появляет... весь текст скрыт [показать]
     
     
  • 4.52, Michael Shigorin (ok), 19:13, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Его даже в линуксах по дефолту нет ...

    Можно список?

     
  • 4.67, rshadow (ok), 19:52, 31/05/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    LOL

    http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Languages/LSB-Languages/boo

     
  • 3.156, Аноним (-), 10:48, 06/06/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    В общем, жуткий паразит И то что надо чтобы усложнить верификацию кода NIX ос... весь текст скрыт [показать]
     
  • 2.13, Labbit (?), 11:09, 31/05/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    Booking.com, Yandex, Rambler, Amazon
     
     
  • 3.33, cono (?), 13:26, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    ticketmaster.com
     
  • 3.69, sorrymak (ok), 19:59, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    reg.ru
     
  • 2.17, iZEN (ok), 11:45, 31/05/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    > Где сейчас Perl используется?

    От Perl зависит функционирование GNU-декстопа с графическим пользовательским интерфейсом на основе библиотек тулкитов Gtk2/3, Qt4/5, *box и т.д.

     
  • 2.28, Аноним (-), 13:05, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    git
     
  • 2.35, fi (ok), 13:46, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    «ты не поверишь!» ©
    вот сейчас пишу приложение. Настолько простой и понятный язык! Большенство мало-мальки полезный фичь загнаны в модули. Что еще нужно для жизни?
     
  • 2.43, angra (ok), 16:35, 31/05/2017 [^] [ответить]    [к модератору]  
  • +5 +/
    > Где сейчас Perl используется?

    Попробуй удалить его из своего дистра и менеджер пакетов тебе расскажет.

     
     
  • 3.146, Аноним (-), 17:40, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну мне emerge лишь скажет meh и продолжит собирать всякое Правда в 50 случа... весь текст скрыт [показать]
     
  • 2.44, Аноним (-), 17:31, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    https://github.com/solvespace/website
     
  • 2.70, sorrymak (ok), 20:01, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    Кстати, в Mageia контроль-панелька и инсталлятор написаны на Perl, и прочие мелкие вещи (а также пакетный менеджер urpm, но это наследие Мандривы).
     
     
  • 3.71, Michael Shigorin (ok), 20:11, 31/05/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Так там, поди, и drakx такое же наследие, как и urpmi ... весь текст скрыт [показать]
     
  • 2.75, Аноним (-), 21:13, 31/05/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Например в автоматическом тестировании программного обеспечения Обычно тесты за... весь текст скрыт [показать]
     
     
  • 3.95, iZEN (ok), 15:48, 01/06/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Бред Кто придумал xUnit, знаешь ... весь текст скрыт [показать]
     
     
  • 4.97, Аноним (-), 16:53, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Бред потому что ты не знаешь как мы работаем или бред потому что тебе захотелось... весь текст скрыт [показать]
     
     ....нить скрыта, показать (19)

  • 1.9, Аноним (-), 11:03, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Интересно, где его применение оправдано? Что вообще на нем пишут?
     
     
  • 2.10, Аноним (-), 11:07, 31/05/2017 [^] [ответить]    [к модератору]  
  • –4 +/
    Just for fun
     
  • 2.12, A.Stahl (ok), 11:07, 31/05/2017 [^] [ответить]    [к модератору]  
  • +19 +/
    Да брось ты. Некоторые даже на ЯваСкрипте пишут. Или на Питоне. Добровольно! Уж Перлу-то место найдётся.
     
  • 2.22, Аноним (-), 12:28, 31/05/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    Там, где нужно обрабатывать много текста. Да и как скриптовый язык общего назначения он далеко не так плох, как его малюют.
     
     
  • 3.92, Аноним (-), 13:54, 01/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    К сожалению парсер CSV у python быстрее.
     
     
  • 4.147, Аноним (-), 17:42, 03/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Зато while медленне, чем for.
     
  • 2.26, Аноним (-), 12:50, 31/05/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Оправдано? Часто оправдываешься за выбор языка?

     
  • 2.29, Аноним (-), 13:06, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    много легаси кода.
    который врятли будет переписан ближайшие 100 лет
     
     
  • 3.31, Аноним (-), 13:23, 31/05/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    > врятли

    вряд ли

     
  • 2.76, Аноним (-), 21:22, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    Пост: #2.75 (выше). Если даже заказчику нужна система на Java, у нас тесты все-равно пишутся на perl. Это очень просто и быстро.
     
  • 2.152, Аноним (-), 14:59, 04/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    веб морды на cgi для данных из sql
     
  • 1.15, iZEN (ok), 11:42, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Только позавчера пересобрал все ~600 установленных портов на FreeBSD. Теперь снова придётся тратить 10 часов машинного времени. :(
     
     
  • 2.66, Pse (?), 19:46, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Открой для себя ccache.
     
     
  • 3.99, iZEN (ok), 17:11, 01/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Зачем?
    Количество пакетов, зависимых от Perl, всего:
    % pkg info -r perl5 | wc -l
          35
     
     
  • 4.113, Аноним (-), 21:39, 01/06/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Зачем?
    > Количество пакетов, зависимых от Perl, всего:
    > % pkg info -r perl5 | wc -l
    >       35

    Угу, а пакеты p5-* А.С. (который Пушкин, а не Stahl), считать будет?

     
     
  • 5.116, iZEN (ok), 22:10, 01/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Прикалываетесь pkg info -r perl5 124 grep p5 124 wc -l 11 ... весь текст скрыт [показать]
     
     
  • 6.121, Аноним (-), 00:02, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    code pkg query r perl5 86 pkg rquery r perl5 ... весь текст скрыт [показать]
     
  • 1.16, Аноним (-), 11:44, 31/05/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • –3 +/
    Никогда не любил Perl Замусоренный синтаксис, некоторые вещи приходилось делать... весь текст скрыт [показать]
     
     
  • 2.20, A.Stahl (ok), 12:11, 31/05/2017 [^] [ответить]    [к модератору]  
  • +11 +/
    >Python ... - эффективный и элегантный.

    Я вижу два варианта: либо Перл совсем плох либо у тебя что-то не так с ... ну... с пониманием концепций эффективности и элегантности.

     
     
  • 3.56, _ (??), 19:21, 31/05/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Да не обязательно Вот тебе какие девушки нравятся Не факт что такие же, как е... весь текст скрыт [показать]
     
     
  • 4.62, Аноним (-), 19:32, 31/05/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Писать на perl нужно уметь, т к он дает столько свободы что на нем очень легко ... весь текст скрыт [показать]
     
     
  • 5.77, Аноним (-), 22:20, 31/05/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Да и в питон не надо тогда. Есть куча интересных и полезных профессий.
     
  • 2.21, Аноним (-), 12:24, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Тонко, молодец )
     
     
  • 3.25, Аноним (-), 12:38, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Сам себя похвалил?
     
  • 2.24, Аноним (-), 12:36, 31/05/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    Перл -- язык для сильных программистов. Ты к их числу похоже не принадлежишь.

    >столько кода и идей реализовал за год

    Код покажи.

     
  • 2.42, angra (ok), 16:28, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну разве что, если под написанием программ понимать копипастинг кода с сети Тог... весь текст скрыт [показать]
     
     
  • 3.46, Аноним (-), 17:54, 31/05/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    И что, отступы совсем не мешают и ... весь текст скрыт [показать]
     
  • 3.58, _ (??), 19:24, 31/05/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    >А для написания своего кода Perl значительно приятней.

    А для чтения? Чужого? То-то!(С)

     
     
  • 4.63, Аноним (-), 19:36, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Нормально написанный код читается легко. А хреновый код зачем читать? Его переписывать надо.
     
  • 3.82, Аноним (-), 01:08, 01/06/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > копипастинг кода с сети
    > Python

    Ахаха. Как раз в случае питона копипастинг корёжит логику из-за его уродского синтаксиса. Коварный план гвидо раскрыт!

     
     
  • 4.83, Led (ok), 01:55, 01/06/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    > Коварный план гвидо раскрыт!

    Не наговаривай на Гвидо: у него не план был, а грибы.

     
  • 4.102, Аноним (-), 17:42, 01/06/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Это такой фильтр для отсеивания совсем уж тупых опеннетч W погроммистов, которые... весь текст скрыт [показать]
     
  • 2.55, Michael Shigorin (ok), 19:17, 31/05/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Мне кажется, перл лично Вам просто не пошёл и до богатейшего CPAN попросту не ... весь текст скрыт [показать]
     
     
  • 3.79, Аноним (-), 00:42, 01/06/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Я использовал этот язык около 10 лет предположу, что горазо больше, чем некотор... весь текст скрыт [показать]
     
     
  • 4.81, Аноним (-), 01:08, 01/06/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    > Пойду-ка я к Си и асму

    Человек который может в Си и асм не смог в Perl??

     
     
  • 5.127, Аноним (-), 01:08, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Страннее всего, что человеку, который может в сишку зачем-то понадобился Perl, P... весь текст скрыт [показать]
     
  • 2.87, Snelius (?), 07:51, 01/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Да да, питон рулит! Больше пробелов богу пробелов!
     
     ....нить скрыта, показать (19)

  • 1.23, Аноним (-), 12:33, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    Рекомендую обратить внимание на проект stableperl.

    http://blog.schmorp.de/2015-06-06-a-stable-perl.html

     
     
  • 2.32, Crazy Alex (ok), 13:24, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    По-моему - бред.
     
     
  • 3.36, Andrey Mitrofanov (?), 13:57, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > По-моему - бред.

    Не! Это  ж  perl LTS.  Это именно то, чего мечтал iZEN там наверху.

     
     
  • 4.37, Crazy Alex (ok), 14:17, 31/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну вот эта фигня с @INC - первое, что я могу припомнить, реально угрожающее совместимости. Перловоды весьма аккуратны в этом плане.
     
     
  • 5.159, Michael Shigorin (ok), 12:26, 27/09/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ну вот эта фигня с @INC - первое, что я могу припомнить,
    > реально угрожающее совместимости.

    Кстати, в 5.26.1 случайно не передумали?

     
  • 4.38, tmpuser (?), 14:22, 31/05/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Полностью согласен Обычно Perl воспринимается как синоним совершенной стабильно... весь текст скрыт [показать]
     
     
  • 5.39, Andrey Mitrofanov (?), 14:43, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Вы слишком льстите тонкости моего сарказма Прошу, не надо Или я был убит удвое... весь текст скрыт [показать]
     
  • 2.48, Аноним (-), 18:13, 31/05/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Вы почитайте из-за чего этот проект был создан. Чуть позже как в вопросе разобрались и поломку Coro уладили, в этом проекте смысла не стало и он больше не развивается.
     
     
  • 3.104, Аноним (-), 19:15, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Нет это вы почитайте на странице проекта, почему он был создан Портить перл в ... весь текст скрыт [показать]
     
     
  • 4.107, Аноним (-), 19:54, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Я еще помню содержание переписки до создания проекта Я stableperl не использую ... весь текст скрыт [показать]
     
     
  • 5.110, Аноним (-), 21:13, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Вы так распинаетесь, что становитесь похожи на одну из сторон той переписки Вы ... весь текст скрыт [показать]
     
     
  • 6.112, Аноним (-), 21:25, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Я стараюсь объяснить так чтобы меня поняли сразу А то понимаете ли в последнее ... весь текст скрыт [показать]
     
     
  • 7.117, Аноним (-), 22:42, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Глупенькие и недалёкие все давно на питон перешли Только вы не в помощь За сло... весь текст скрыт [показать]
     
     
  • 8.120, Аноним (-), 23:10, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Вы вдруг решили что я буду за вас решать вопросы которые вам интересны На вашем... весь текст скрыт [показать]
     
     
  • 9.124, Аноним (-), 00:45, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Марк давным давно всех послал Для всех версий перла выше 5 20 он запилил для св... весь текст скрыт [показать]
     
     
  • 10.128, Аноним (-), 03:05, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну это как бы опенсорс, и тут вы вообще все и всегда на свой страх и риск Я дум... весь текст скрыт [показать]
     
     
  • 11.134, Аноним (-), 19:58, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Ничего ты не знаешь, Анон Речь была о том, что вот если бы ты нашел якобы б... весь текст скрыт [показать]
     
     
  • 12.137, Аноним (-), 21:08, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Как будето я не правил модули авторы которых забыли или забили на него Сразу шл... весь текст скрыт [показать]
     
     
  • 13.141, Аноним (-), 00:18, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    С чего ты взял, что он все понял Птичка была запилина не просто так Если _бы_ ... весь текст скрыт [показать]
     
     
  • 14.142, Аноним (-), 00:26, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Не обязательно, это во-первых инструмент Так опенсорс же То что он развивает... весь текст скрыт [показать]
     
  • 7.125, Аноним (-), 00:47, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Лучше не лезьте со своими глупыми советами Unstable-ветки для профи, а не для в... весь текст скрыт [показать]
     
     
  • 8.129, Аноним (-), 03:08, 02/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Лучше не лезьте со своими глупыми ответами Я употребил слово уже в предложени... весь текст скрыт [показать]
     
     
  • 9.136, Аноним (-), 20:14, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    И чем переход на 5 27 0 поможет Мне, действительно интересно ... весь текст скрыт [показать]
     
     
  • 10.138, Аноним (-), 21:10, 02/06/2017 [^] [ответить]    [к модератору]  
  • +/
    А я предлагал переход на 5.27 ?
     
  • 5.126, Аноним (-), 00:54, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Ты не профи Профи, такие как Марк патчат свой перл под себя В том числе и бэкп... весь текст скрыт [показать]
     
     
  • 6.130, Аноним (-), 03:25, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Что-то я не пойму что тебе от меня надо Всли вы более-менее дружите с головой, ... весь текст скрыт [показать]
     
     
  • 7.133, Аноним (-), 19:54, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Странно, что развелось слишком много анонов Вобщем, если ты ныл про stableper... весь текст скрыт [показать]
     
     
  • 8.139, Аноним (-), 21:12, 02/06/2017 [^] [ответить]    [к модератору]  
  • +/
    У тебя вроблемы с восприятием. Я совсем не ныл, а трезво описал сиуацию которая вырисовывается со стороны когда форк-проект лежит 2 года без обновления.
    Остальное ответил выше в #12.137
     
     ....нить скрыта, показать (27)

  • 1.30, Crazy Alex (ok), 13:21, 31/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не, безопасность - это понятно, конечно, но менять дефолтный @INC - всё же перебор
     
     
  • 2.40, Клыкастый (ok), 15:21, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    но теперь благодаря опеннету все предупреждены.
     
  • 2.50, Аноним (-), 19:02, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    Я тоже так думал, но разобрался и понял что все правильно.
     
     
  • 3.54, Аноним (-), 19:16, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Главное для perl - это данные пользователя, поэтому этот шаг сделан потому что я... весь текст скрыт [показать]
     
     
  • 4.57, Аноним (-), 19:22, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Поэтому поиск модулей в по умолчанию может быть причиной вредного модуля, а ... весь текст скрыт [показать]
     
     
  • 5.59, Аноним (-), 19:25, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Пришлось разорвать сообщения и долго пришло редактировать, т к тут на сайте фил... весь текст скрыт [показать]
     
     
  • 6.61, Michael Shigorin (ok), 19:30, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    tor http www opennet ru openforum vsluhforumID3 110971 html 78... весь текст скрыт [показать]
     
     
  • 7.65, Аноним (-), 19:41, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Дело не в этом, а в том что реагирует на какое-то вполне штатное слово или выраж... весь текст скрыт [показать]
     
  • 6.89, Maxim Chirkov (ok), 09:07, 01/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Убрал эту проверку, ошибка срабатывала при входе с Tor, совпадении с черным спис... весь текст скрыт [показать]
     
     
  • 7.90, Michael Shigorin (ok), 12:33, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Вообще список признаков вполне разумный -- возможно, стоит вернуть, но добавить ... весь текст скрыт [показать]
     
  • 7.100, Аноним (-), 17:13, 01/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Спасибо! Отличная новость.
    Смешение русских и латинских бывает местами.
     
  • 5.78, Аноним (-), 23:01, 31/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Ты не в теме Вопрос в том, где эта указана Если в конце, то все ок Если в... весь текст скрыт [показать]
     
     
  • 6.80, Аноним (-), 00:57, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Жутко бесит что снова не могу ответить номально Та же самая ошибка ОШИБКА По... весь текст скрыт [показать]
     
     
  • 7.123, Аноним (-), 00:36, 02/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Вот именно Тебе удалось запостить это сообщение, только без информативного соде... весь текст скрыт [показать]
     
     
  • 8.131, Аноним (-), 03:27, 02/06/2017 [^] [ответить]    [к модератору]  
  • +/
    Глаза подними повыше на сообщение #6.89 от Maxim Chirkov.
     
  • 6.103, Аноним (-), 18:46, 01/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Причем тут директория со скриптом Скрипт может лежать где угодно, т е CWD мож... весь текст скрыт [показать]
     
     
  • 7.122, Аноним (-), 00:34, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    При том, что выставлять cwd забота программиста приложения, а не ЯП Давайте пат... весь текст скрыт [показать]
     
     
  • 8.132, Аноним (-), 03:32, 02/06/2017 [^] [ответить]     [к модератору]  
  • +/
    И что не так Программист приложения, а не ЯП как вы уточнили, позаботился и выс... весь текст скрыт [показать]
     
     
  • 9.135, Аноним (-), 20:01, 02/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    >Еще вопросы?

    Да. Вот сделаю я cwd('/') и что дальше. Как @INC навредит со своей "."? Только не надо ляля, что у тебя на / три семерки стоит.

     
     
  • 10.140, Аноним (-), 21:22, 02/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, это не тот случай когда в INC может создать проблемы, но есть возможные... весь текст скрыт [показать]
     
     
  • 11.143, Аноним (-), 00:41, 03/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Это что за такие случаи Т е если говорит по делу, неприлигированный пользовате... весь текст скрыт [показать]
     
     
  • 12.144, Аноним (-), 06:27, 03/06/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Сам придумал кривые случаи и сам поудивлялся Аншлаг Ты не то придумал, как ра... весь текст скрыт [показать]
     
     
  • 13.145, Аноним (-), 10:04, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Вот поэтому и запилил фикс Никто толком не знает про потенциальные ситуации, ... весь текст скрыт [показать]
     
     
  • 14.148, Аноним (-), 18:53, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    У тебя странное стремление навесить ярлыки за счет однобокобого понимания ситуац... весь текст скрыт [показать]
     
     
  • 15.149, Аноним (-), 22:06, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Ты их не дал, потому что их нет Дело как раз в них И конечно же этого мы никог... весь текст скрыт [показать]
     
     
  • 16.150, Аноним (-), 23:09, 03/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Верно я их не дал и у тебя их нет Но это не значит что у меня их нет У меня е... весь текст скрыт [показать]
     
     
  • 17.151, Аноним (-), 00:31, 04/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Я дал примеры, а ты нет Как жаль, что ты анон, так бы занес тебя в свою тетрадь... весь текст скрыт [показать]
     
     
  • 18.158, Аноним (-), 22:30, 07/06/2017 [^] [ответить]    [к модератору]  
  • +/
    В процессе общения расхотелось тебе сообщать. Научись разговаривать с людьми.
     
  • 4.64, Аноним (-), 19:39, 31/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > поэтому этот шаг сделан потому
    > что является движением

    вмемориз

     
     
  • 5.84, Аноним (-), 02:42, 01/06/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Сдаётся мне, джентельмены, что это был Кличко.
     
     
  • 6.106, Аноним (-), 19:24, 01/06/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Школьники != джентельмены. dic.academic.ru вам в помощь
     
  • 5.105, Аноним (-), 19:23, 01/06/2017 [^] [ответить]    [к модератору]  
  • +/
    "ниасилил"?
     
  • 4.72, Crazy Alex (ok), 20:15, 31/05/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Если оно включается через use v5 26 - кто б спорил, нормальное решение Если ... весь текст скрыт [показать]
     
     
  • 5.73, Crazy Alex (ok), 20:19, 31/05/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    И по ходу они это дело под use v5.26 не отправили. Маразм.
     
     
  • 6.74, Аноним (-), 21:04, 31/05/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Как бы все серьезно Если что, вот посмотрите https cve mitre org cgi-bin cve... весь текст скрыт [показать]
     
     
  • 7.85, Crazy Alex (ok), 03:57, 01/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    да хрен с ним, с удобством Очередной минор не должен ломать десятилетиями писан... весь текст скрыт [показать]
     
     
  • 8.94, iZEN (ok), 15:47, 01/06/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    На FreeBSD в порте perl5 26 сделали опцию DOT_INC off Add to INC unsafe ... весь текст скрыт [показать]
     
  • 8.101, Аноним (-), 17:20, 01/06/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Но тут не просто механика и обновление Дело в том что при штатных возможностях ... весь текст скрыт [показать]
     
  • 8.109, Ordu (ok), 20:45, 01/06/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Угу Они должны были инкрементировать мажорную версию ради изменения дефолтов Ч... весь текст скрыт [показать]
     
     ....нить скрыта, показать (38)

  • 1.93, Аноним (-), 14:00, 01/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Похоже кто-то поменял в тексте новости все символы «меньше» на фигурную скобку, а комментаторы даже не заметили :-)
     
  • 1.153, Аноним (-), 06:33, 05/06/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Протестировал скорость выполнения вызовов в разных версиях perl Тестировал тщат... весь текст скрыт [показать]
     
     
  • 2.154, Аноним (-), 08:14, 05/06/2017 [^] [ответить]     [к модератору]  
  • +/
    Знаешь, в чем правда Быстрее сишки и асма ничего нет И дяди, которые делают ве... весь текст скрыт [показать]
     
  • 2.155, Аноним (-), 10:08, 05/06/2017 [^] [ответить]    [к модератору]  
  • +/
    чё те там плохо? на ул, ак. Павлова? или в Вертикале? уж забыл где который регистратор.
    Или ты про либы для партнёров? в руцентре на моей памяти было пожосче
     
  • 1.157, Аноним (-), 10:55, 06/06/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    "изменения затронули 2600 файлов" сколько же они уже тогда вобще г0внокода наваялили?!...

     

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


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