После года разработки состоялся (http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/ms...) релиз новой стабильной ветки языка программирования Perl - 5.26 (https://metacpan.org/release/perl). При подготовке нового выпуска было изменено около 360 тыс. строк кода, изменения затронули 2600 файлов, в разработке приняли участие 86 разработчиков.Ветка 5.26 выпущена в соответствии с утверждённым пять лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.26.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.24.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 (http://search.cpan.org/~xsawyerx/perl-5.26.0/pod/perldiag.pod) в секции "Unescaped left brace in regex is deprecated here" можно найти детали, например, о случаях когда "{" может не экранироваться.
Ключевые изменения (http://search.cpan.org/~xsawyerx/perl-5.26.0/pod/perldelta.pod)
:- С процедур лексической области видимости введенных в 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 (http://www.unicode.org/versions/Unicode9.0.0/). Поддержка модулями из core Perl реализована через приведение нормализатора форм Unicode::Normalize к соответствию стандарту Unicode 9.0;- На платформах которые поддерживают UTF-8 по умолчанию для сопоставления данных теперь используется кодировка UTF-8.
Для портируемости рекомендуется использовать Unicode::Collate. Подробности в разделе "Category LC_COLLATE: Collation: Text Comparisons and Sorting" в perllocale (http://search.cpan.org/~xsawyerx/perl-5.26.0/pod/perllocale.pod);
- Возможность косвенного вызова функции интерпретатора 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) теперь возвращае...
URL: http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/ms...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46628
Ура, товарищи!
Традиция не ходить на работу на следующий день после релиза Perl. Как всегда чертовски интересно разбирать perldelta.
Всех еще раз поздравляю с релизом Perl 5.25!!!PS: давайте проверять поведение %{^CAPTURE_ALL}, а мне надо поспать :)
> Всех еще раз поздравляю с релизом Perl 5.25!!!Шта?
Ну переутомился человек, чего непонятного.
Да, я просто опечатался. Я весь день активно в коде копался, разобрался только к ночи. Приехал домой очень поздно а тут Perl релизнулся. Я просто не мог пройти мимо perldelta. Только к утру разобрался и опробовал все интересности Perl.
>> Всех еще раз поздравляю с релизом Perl 5.25!!!
> Шта?Так 25ый он уже проверил и обобряет. А этот за одну ночь не успел.%))
Очевидно же что Perl 5.25 релизнулся в Perl 5.26 :)
Эк рванул старик ;-)
Где сейчас Perl используется?
Везде по чуть-чуть. Ровно по столько, чтобы было необходимо ставить перл на любую систему.
>Ровно по столько, чтобы было необходимо ставить перл на любую систему.Его даже в линуксах по дефолту нет ... о чём ты болезный?!? :-\
Оно там появляется если какой-нить не-модный и не-молодёжный софт его по зависимостям втянет ... :(А так - желаю ветерану успехов и долгой жизни!
Если звёзды зажигают - значит это кому то нужно!(С)
> Его даже в линуксах по дефолту нет ...Можно список?
LOLhttp://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Languages/...
> Везде по чуть-чуть. Ровно по столько, чтобы было необходимо ставить перл на любую систему.В общем, жуткий паразит.
И то что надо чтобы усложнить верификацию кода *NIX осей,
даже не считая такого же паразита - GCC.
Верифицировать исходники которого проблемней чем даже kernel-a, всех билиотек и затем всех настроечных файлов все в мире форков ОС-ей - в целом.
Booking.com, Yandex, Rambler, Amazon
ticketmaster.com
reg.ru
> Где сейчас Perl используется?От Perl зависит функционирование GNU-декстопа с графическим пользовательским интерфейсом на основе библиотек тулкитов Gtk2/3, Qt4/5, *box и т.д.
git
«ты не поверишь!» ©
вот сейчас пишу приложение. Настолько простой и понятный язык! Большенство мало-мальки полезный фичь загнаны в модули. Что еще нужно для жизни?
> Где сейчас Perl используется?Попробуй удалить его из своего дистра и менеджер пакетов тебе расскажет.
Ну мне emerge лишь скажет meh~~~ и продолжит собирать всякое. Правда в 50% случаев при следующей сборке чего либо perl вернётся на законное место.Вообще не понимаю этих модников. Им не нравится перл, потому что они не могут осилить контексты, зато им нравится питон, потому что у него НЕТКОЙКАКВСЕСИНТАКСИС.
https://github.com/solvespace/website
Кстати, в Mageia контроль-панелька и инсталлятор написаны на Perl, и прочие мелкие вещи (а также пакетный менеджер urpm, но это наследие Мандривы).
> Кстати, в Mageia контроль-панелька и инсталлятор написаны на Perl, и прочие мелкие
> вещи (а также пакетный менеджер urpm, но это наследие Мандривы).Так там, поди, и drakx такое же наследие, как и urpmi? :)
Например в автоматическом тестировании программного обеспечения. Обычно тесты занимают не менее 50% времени разработки и автоматические тесты сильно помогают в этом. Perl в этом лучше всех, т.к. на нем очень легко и быстро наколбасить тестовый сценарии. Писать тесты на любом другом языке - это затратно и неоправдано.
> Например в автоматическом тестировании программного обеспечения. Обычно тесты занимают
> не менее 50% времени разработки и автоматические тесты сильно помогают в
> этом. Perl в этом лучше всех, т.к. на нем очень легко
> и быстро наколбасить тестовый сценарии. Писать тесты на любом другом языке
> - это затратно и неоправдано.Бред. Кто придумал xUnit, знаешь?
> Бред.Бред потому что ты не знаешь как мы работаем или бред потому что тебе захотелось назвать это бредом? Вот если бы ты знал как эффективно использовать, то наверняка не писал бы такое.
> Кто придумал xUnit, знаешь?
Это аргументация к твоему заключению "Бред" ?. Это у тебя какой-то бред.
Интересно, где его применение оправдано? Что вообще на нем пишут?
Just for fun
Да брось ты. Некоторые даже на ЯваСкрипте пишут. Или на Питоне. Добровольно! Уж Перлу-то место найдётся.
Там, где нужно обрабатывать много текста. Да и как скриптовый язык общего назначения он далеко не так плох, как его малюют.
К сожалению парсер CSV у python быстрее.
Зато while медленне, чем for.
Оправдано? Часто оправдываешься за выбор языка?
много легаси кода.
который врятли будет переписан ближайшие 100 лет
> врятливряд ли
Пост: #2.75 (выше). Если даже заказчику нужна система на Java, у нас тесты все-равно пишутся на perl. Это очень просто и быстро.
веб морды на cgi для данных из sql
Только позавчера пересобрал все ~600 установленных портов на FreeBSD. Теперь снова придётся тратить 10 часов машинного времени. :(
Открой для себя ccache.
Зачем?
Количество пакетов, зависимых от Perl, всего:
% pkg info -r perl5 | wc -l
35
> Зачем?
> Количество пакетов, зависимых от Perl, всего:
> % pkg info -r perl5 | wc -l
> 35Угу, а пакеты p5-* А.С. (который Пушкин, а не Stahl), считать будет?
>> Зачем?
>> Количество пакетов, зависимых от Perl, всего:
>> % pkg info -r perl5 | wc -l
>> 35
> Угу, а пакеты p5-* А.С. (который Пушкин, а не Stahl), считать будет?Прикалываетесь?
% pkg info -r perl5 | grep p5 | wc -l
11
> Прикалываетесь?
> % pkg info -r perl5 | grep p5 | wc -l
> 11
% pkg query "%#r" perl5
86
% pkg rquery "%#r" perl5
6398
Никогда не любил Perl. Замусоренный синтаксис, некоторые вещи приходилось делать в каком-то извращённом виде. Python был как глоток свежего воздуха - эффективный и элегантный. Я когда с Python только познакомился, то столько кода и идей реализовал за год, сколько на перле и за пять лет не написал. Разница в скорости реализации и написания кода просто колоссальная.Пожалуй, Perl сейчас только истые фанаты используют.
>Python ... - эффективный и элегантный.Я вижу два варианта: либо Перл совсем плох либо у тебя что-то не так с ... ну... с пониманием концепций эффективности и элегантности.
Да не обязательно.
Вот тебе какие девушки нравятся? Не факт что такие же, как ему :) И ничего - все понимают что это естественно ...
Мне вот Перл тоже не нравится, но вещь качественная, сделанная старыми мастерами :) и в _некоторых_ случаях _наилучший_ вариант. "A necessary evil" (C) Как говорят в Сывтыкваре :)
Но вот писать на нём _всё_ ... нафик-нафик!
Писать на perl нужно уметь, т.к. он дает столько свободы что на нем очень легко наго#нокодить. Если внутри тебя программист так и не смог, и ты не можешь самостоятельно строить нормальную структуру, то лучше не надо ни в perl, ни в си.
Да и в питон не надо тогда. Есть куча интересных и полезных профессий.
Тонко, молодец )
Сам себя похвалил?
Перл -- язык для сильных программистов. Ты к их числу похоже не принадлежишь.>столько кода и идей реализовал за год
Код покажи.
Ну разве что, если под написанием программ понимать копипастинг кода с сети. Тогда да, Python позволяет легче понять чужой код и адаптировать под свои нужды. А для написания своего кода Perl значительно приятней.
> Ну разве что, если под написанием программ понимать копипастинг кода с сети.И что, отступы совсем не мешают?
> angra
> Копипаста, мессенджеры и веб это очень даже хорошие инструменты для задачи удобного и
> быстрого обмена кусочками кода. Но только не в случае с ЯП, чувствительных к отступам.и
> Экспертус опеннетус очередноус
> > А чем отступы хуже любого другого разделителя?
> Например тем, что легко теряются при копипасти из, например, веба или кучи мессенджеров
> (а также в куче идешек). И, что при этом главное, никаких синтаксических ошибок - проблему
> можно будет словить (и то, если повезет) только в рантайме.
>А для написания своего кода Perl значительно приятней.А для чтения? Чужого? То-то!(С)
Нормально написанный код читается легко. А хреновый код зачем читать? Его переписывать надо.
> копипастинг кода с сети
> PythonАхаха. Как раз в случае питона копипастинг корёжит логику из-за его уродского синтаксиса. Коварный план гвидо раскрыт!
> Коварный план гвидо раскрыт!Не наговаривай на Гвидо: у него не план был, а грибы.
>> копипастинг кода с сети
>> Python
> Ахаха. Как раз в случае питона копипастинг корёжит логику из-за его уродского
> синтаксиса. Коварный план гвидо раскрыт!Это такой фильтр для отсеивания совсем уж тупых опеннетч^W погроммистов, которые даже cкопипастить толком не могут. Судя по регулярному батхерту экспертов опеннета по всевозможным дисциплинам, неплохая задумка.
> Python был как глоток свежего воздуха - эффективный и элегантный.Мне кажется, перл лично Вам просто "не пошёл" и до богатейшего CPAN попросту не добрались (интересно, много ли из созданного за тот год было изобретением велика в плохом виде?).
Как может показаться "эффективным" и тем более "элегантным" питон -- теряюсь в догадках по сей день, а заподозрил неладное ещё году в 2001, попытавшись это недоразумение применить там, где по всем внешним показателям егойные привязки вроде должно были быть лучше сишной библиотеки.
> перл лично Вам просто "не пошёл"Я использовал этот язык около 10 лет (предположу, что горазо больше, чем некоторые местные апологеты Perl'a). Что значит он "не пошёл"? С Perl я попрощался сразу же как понял Python. С Python я гораздо мобильнее. Код эффектный, краткий, элегантный. Python всецело оправдывает свою философию - "Писать код со скоростью мысли". Я на Python сейчас пишу всё - от системных утилит (резервирование, парсинг, тестирование) до сетеввых.
Ладно, это пустой спор. Почапал я. Действительно, может быть я слабый программист? Может быть... Пойду-ка я к своим Python, Си и асму, а Perl оставлю элите...
> Пойду-ка я к Си и асмуЧеловек который может в Си и асм не смог в Perl??
>Человек который может в Си и асм не смог в Perl??Страннее всего, что человеку, который может в сишку зачем-то понадобился Perl, Python и прочий ширпотреб. А! Я знаю, потому что на них пишется всякое фуфло.
Больше всего улыбнуло "сетевые приложения на Питоне"... На кой нужны такие приложения, если рантайм Питона в дефолте жрет больше памяти, чем сами данные, гоняемые по сети... А уж про скорость обработки самих данных даже заикаться не буду. Походу очередные веб-кравлеры пишет.
Да да, питон рулит! Больше пробелов богу пробелов!
Рекомендую обратить внимание на проект stableperl.
По-моему - бред.
> По-моему - бред.Не! Это ж perl LTS. Это именно то, чего мечтал iZEN там наверху.
Ну вот эта фигня с @INC - первое, что я могу припомнить, реально угрожающее совместимости. Перловоды весьма аккуратны в этом плане.
> Ну вот эта фигня с @INC - первое, что я могу припомнить,
> реально угрожающее совместимости.Кстати, в 5.26.1 случайно не передумали?
Полностью согласен. Обычно Perl воспринимается как синоним совершенной стабильности. И рвать "устои" здесь не принято, это "противоречит духу" перловодов. Дать возможности, кучу вариантов для выбора - было бы правильнее.Поэтому, посмотрим на этот стабильный Perl - но идея в нужном направлении. Ну и автор молодец, его послужный список вполне себе нормальный: http://software.schmorp.de/
> Полностью согласен.Вы слишком льстите тонкости моего сарказма. Прошу, не надо! Или я был убит удвоением моего собственного в ответ? Ну, да, ладно -- хоть руки не порезал......................................................................
Вы почитайте из-за чего этот проект был создан. Чуть позже как в вопросе разобрались и поломку Coro уладили, в этом проекте смысла не стало и он больше не развивается.
Нет это вы почитайте на странице проекта, почему он был создан.
Портить перл в каждой новой версии никто не прекращал.
Увижу комментарий от создателя проекта о том, что он более не актуален - перестану использовать stableperl. Да, я его использую, как и перл вообще. А вы?
>он больше не развиваетсяТаки вам нужно, чтобы 50 мартышек прыгали и каждые две недели выдавали новый релиз? Фокус проекта на обеспечении стабильности. Чтобы все работало. Понимаете?
> Нет это вы почитайте на странице проекта, почему он был создан.Я еще помню содержание переписки до создания проекта.
> Портить перл в каждой новой версии никто не прекращал.
> Увижу комментарий от создателя проекта о том, что он более не актуален - перестану использовать stableperl. Да, я его использую, как и перл вообще. А вы?Я stableperl не использую и не планирую потому что там не закрываются баги. Я просто немного отслеживаю что фиксится и какие баги закрываются в perl-core. Здесь http://stableperl.schmorp.de/dist/ все очень плачевно:
>Name Last modified Size
>latest.tar.gz 2015-06-06 06:21 16M
> Таки вам нужно, чтобы 50 мартышек прыгали и каждые две недели выдавали новый релиз?
> Фокус проекта на обеспечении стабильности. Чтобы все работало. Понимаете?Совсем нет. Мне нужно чтобы perl-core который я использую был в актуальном состоянии я не 2-х летней давности с незакрытыми багами например в подсистеме PerlIO и прочими недоработками. Обновления на perl-core выходят тоже не на пустом месте. Я стабильности даже в perl-core мне хватает за глаза, ибо они не ломают ничего такого что создает проблемы. Обычно все фиксится за пару десятков секунд, большая часть времени из которых уходит на поиск файлов. Это для меня не проблема, а для вас похоже проблема.
ps: К слову об "." в @INC. Мне поднадоели проблемамы и workaround-ы ради безопасности вокруг этого "." в @INC, поэтому лично для меня "." снимает сразу 2 проблемы.
Вы так распинаетесь, что становитесь похожи на одну из сторон той переписки.
Вы поделитесь подноготной, полегчает может.
А то я Марку собираюсь написать, спросить какие у него планы на 5.26.Лучше скажите, на 5.26 коро работать будет?
> Вы так распинаетесь, что становитесь похожи на одну из сторон той переписки.Я стараюсь объяснить так чтобы меня поняли сразу. А то понимаете ли в последнее время на форумах очень много глупеньких и недалеких, которые не могут сами додумать то казалось бы очевидным.
> Вы поделитесь подноготной, полегчает может.
mail-archive вам в помощь
> А то я Марку собираюсь написать, спросить какие у него планы на 5.26.
У меня есть опыт переписки с Марком :-) Надеюсь вы поделитесь содержанием ответа, а то 2 года stableperl без актуализации это как-то не обнадеживает.
> Лучше скажите, на 5.26 коро работать будет?
perlbrew вам в помощь, там уже 5.27.0 доступен.
Глупенькие и недалёкие все давно на питон перешли.>в помощь
>в помощьТолько вы не в помощь. За слова не отвечаете, все время на что-то ссылаетесь. С таким видом, как-будто вы эти вещи изобрели. Не в тп хостинга работаете, случайно?
Если вы так уверены, что stableperl не нужен, аргументируйте конкретно: скажите, работает ли коро на 5.26. Без этого вы только захламляете обсуждение.
> Только вы не в помощь. За слова не отвечаете, все время на что-то ссылаетесь. С таким видом, как-будто вы эти вещи изобрели. Не в тп хостинга работаете, случайно?Вы вдруг решили что я буду за вас решать вопросы которые вам интересны? На вашем месте я бы сказал спасибо за подсказки путей решения.
> Если вы так уверены, что stableperl не нужен, аргументируйте конкретно: скажите, работает ли коро на 5.26. Без этого вы только захламляете обсуждение.
Я говорю только про конкретный stableperl Марка который 2 года лежит без обновлении, и это факт.
Я сейчас не вспомню всех деталей, но дело было примерно так: разработчики сломали работу Coro и Марк форкнул perl. Дальше разработчики начали разбираться глубже и оказалось что схема которую реализовали тоже не совсем правильное, но и Coro работал на баге. В итоге все сделали как надо и выяснилось что при "как надо" Core работает. Получилось что то из-за чего в принципе stableperl был создан потеряло всякий смысл. Я думаю поэтому он 2 года лежит.
Но нужен или нет perl который LTS - я не берусь судить за всех. Лично мне он не нужен, у меня с perl проблем нет.ps: Насколько мне известно, в perl-5.26.0 нет проблем с Coro, но я специально не проверял.
> ps: Насколько мне известно, в perl-5.26.0 нет проблем с Coro, но я
> специально не проверял.Марк давным давно всех послал. Для всех версий перла выше 5.20 он запилил для своих модулей проверку (чирик-чирик), которая гласит, что он не отвечает за работоспособность своих модулей на неподдерживаемых версиях перла (>5.20). Так-то работает, но на свой страх и риск.
Лучше не дергать его, если не в теме.
> Марк давным давно всех послал. Для всех версий перла выше 5.20 он запилил для своих модулей проверку (чирик-чирик), которая гласит, что он не отвечает за работоспособность своих модулей на неподдерживаемых версиях перла (>5.20). Так-то работает, но на свой страх и риск.Ну это как бы опенсорс, и тут вы вообще все и всегда на свой страх и риск. Я думал все знают.
> Лучше не дергать его, если не в теме.
А че его дергать-то? Если есть вопросы, можно самому погонять библиотеки, или разобрать историю коммитов perl если прямо уж чтоб наверняка.
>Я думал все знают.Ничего ты не знаешь, Анон :) Речь была о том, что вот если бы ты нашел "якобы" баг в Coro под неподдерживаемой версией перла и послал баг-репорт Марку, то получил бы посыл в далекие земли. В других же проектах, могли бы даже напряч извилины и пофиксить.
>А че его дергать-то? Если есть вопросы, можно самому погонять библиотеки, или разобрать историю коммитов perl если прямо уж чтоб наверняка.
Ну, выше кто-то хотел его распросить чей-то он не обновляет stableperl, как дела с Coro и все ли стабильно. Вот я и ответил, что обо всем рассказал в уже неновых выпусках своих модулей. Два года как рассказал.
> Ничего ты не знаешь, Анон :) Речь была о том, что вот если бы ты нашел "якобы" баг в Coro под неподдерживаемой версией перла и послал баг-репорт Марку, то получил бы посыл в далекие земли. В других же проектах, могли бы даже напряч извилины и пофиксить.Как будето я не правил модули авторы которых забыли или забили на него. Сразу шлите патчи или прикрепите к багрепорту кусок бабла :). Сложного с perl ничего нет так как в публичных проектах есть исходники с историями изменении. Рзобраться легко, я так копаюсь со структурами Linux-kernel когда делаю бэкпорты.
> Ну, выше кто-то хотел его распросить чей-то он не обновляет stableperl, как дела с Coro и все ли стабильно. Вот я и ответил, что обо всем рассказал в уже неновых выпусках своих модулей. Два года как рассказал.
> Вот я и ответил, что обо всем рассказал в уже неновых выпусках своих модулей. Два года как рассказал.Может возникнуть ощущение что Марк у нас на опеннете.
Ну а если серьезно, то:
у http://search.cpan.org/search?query=AnyEvent дата обновления 16 Sep 2016
у http://search.cpan.org/~mlehmann/Coro-6.511/Coro.pm дата обновления 26 Jun 2016
ну а последняя публичная активность Марка https://metacpan.org/author/MLEHMANN/releases была Mar 05, 2017.
Не думаю что Марк сильно забросит свои проекты, в его модули очень много профессионального труда вложено, это очень дорогие проекты во всех смыслах слова. А то что stableperl не обновляется - так смысла в нем нет. Да и вообще, история с EXT_MGVTBL показала что разработчики perl не упертые бараны, поэтому мало смысла разбрасываться силами и делать форки таких больших проектов как perl. Если бы Марк отошел от майнлайна в свой stableperl полностью, то не думаю что он стал бы делать Canary::Stability. Так что я надеюсь и думаю он понял что в форке stableperl нет смысла когда все и так работает.
>Если бы Марк отошел от майнлайна в свой stableperl полностью, то не думаю что он стал бы делать Canary::Stability. Так что я надеюсь и думаю он понял что в форке stableperl нет смысла когда все и так работает.С чего ты взял, что он все понял? Птичка была запилина не просто так. Если _бы_ его все устраивало в современном перле, то он бы удалил бы птичку. А так, это лишнее доказательство, что не все его устраивает.
С другой стороны, он не обязан поддерживать и выкладывать из дня на день свои наработки. Так что предполагать мы можем все что угодно.
> С чего ты взял, что он все понял?
>> "Так что я надеюсь..."?
> А так, это лишнее доказательство, что не все его устраивает.
Не обязательно, это во-первых инструмент.
> С другой стороны, он не обязан поддерживать и выкладывать из дня на день свои наработки. Так что предполагать мы можем все что угодно.Так опенсорс же. То что он развивает свои наработки вместе с развитием perl когда stableperl лежит без обновлении говорит как минимум что у него нет необходимости подтягивать stableperl.
> perlbrew вам в помощь, там уже 5.27.0 доступен.Лучше не лезьте со своими глупыми советами. Unstable-ветки для профи, а не для всех подряд. Кроме того, никакой поддержки на нестабильных версиях вам Марк не окажет, потому что вы ССЗБ.
> Лучше не лезьте со своими глупыми советами. Unstable-ветки для профи, а не для всех подряд. Кроме того, никакой поддержки на нестабильных версиях вам Марк не окажет, потому что вы ССЗБ.Лучше не лезьте со своими глупыми ответами. Я употребил слово "уже" в предложении "там уже 5.27.0 доступен" как бы намекая что если уж 5.27.0 доступен который выходит днем позже после stable, то 5.26.0 доступен и подавно.
> Unstable-ветки для профи, а не для всех подряд.
в /dev/null
> Кроме того, никакой поддержки на нестабильных версиях вам Марк не окажет, потому что вы ССЗБ.
в /dev/null
>Я употребил слово "уже" в предложении "там уже 5.27.0 доступен" как бы намекая что если уж 5.27.0 доступен который выходит днем позже после stable, то 5.26.0 доступен и подавно.И чем переход на 5.27.0 поможет? Мне, действительно интересно.
А я предлагал переход на 5.27 ?
> Совсем нет. Мне нужно чтобы perl-core который я использую был в актуальном
> состоянии я не 2-х летней давности с незакрытыми багами например в
> подсистеме PerlIO и прочими недоработками. Обновления на perl-core выходят тоже не
> на пустом месте. Я стабильности даже в perl-core мне хватает за
> глаза, ибо они не ломают ничего такого что создает проблемы. Обычно
> все фиксится за пару десятков секунд, большая часть времени из которых
> уходит на поиск файлов. Это для меня не проблема, а для
> вас похоже проблема.Ты не профи. Профи, такие как Марк патчат свой перл под себя. В том числе и бэкпорты. Теперь вопрос, тебе этот PerlIO сильно сдался? Ну, так выпили его. В чем проблема? Хочешь жить на готовеньком? Плати. Не хочешь плати, бери что дают.
Ниже отписался про обстановку дел -- переходи на 5.26.0 и не трахай мозг ни себе, ни людям. Будут проблемы -- пиши патчи к конкретным модулям. А если не можешь, так найми того кто сможет. В том числе того же Марка, он как бы сам себе бизнесмен и от лишнего клиента не откажется.
> Ты не профи. Профи, такие как Марк патчат свой перл под себя. В том числе и бэкпорты.Что-то я не пойму что тебе от меня надо? Всли вы более-менее дружите с головой, то вы должны понимать что попытка характеризовать анонима в сети - это сильно большая глупость.
> Теперь вопрос, тебе этот PerlIO сильно сдался? Ну, так выпили его. В чем проблема?
PerlIO был в качестве примера, то есть это ОДИН ИЗ СЛУЧАЕВ, елки-палки. Что у тебя с головой? Ну выпилю я его и потом придут модули по надобности или по зависимости которым он нужен и что потом?
> Хочешь жить на готовеньком? Плати. Не хочешь плати, бери что дают.
Забавный. Я не собираюсь платить тем более за продукт который вышел сроком 2 года назад. Бред какой-то особенно учесть что мне обычного perl и strawberyyperl хватает без каких-либо проблем.
> Ниже отписался про обстановку дел -- переходи на 5.26.0 и не трахай мозг ни себе, ни людям. Будут проблемы -- пиши патчи к конкретным модулям. А если не можешь, так найми того кто сможет. В том числе того же Марка, он как бы сам себе бизнесмен и от лишнего клиента не откажется.
А что не так? Я перешел и напишу не только патчи, но и форкну если потребуется. Да, я могу это, друг мой. Зачем мне нанимать кого-то если я бэкпорты на linux-kernel для себя делаю? Мне кажется ты не совсем представляешь с кем разговариваешь. Впрочем у тебя даже с пониманием как-то "не очень" раз тебе покзалось что я сижу и жду Марка и его stableperl. Странный ты какой-то.
>Странный ты какой-то.Странно, что развелось слишком много анонов :) Вобщем, если ты ныл про stableperl, то я все объяснил и описано в модулях Марка (пердупреждалка). Если это был не ты, то звиняй.
У тебя вроблемы с восприятием. Я совсем не ныл, а трезво описал сиуацию которая вырисовывается со стороны когда форк-проект лежит 2 года без обновления.
Остальное ответил выше в #12.137
Не, безопасность - это понятно, конечно, но менять дефолтный @INC - всё же перебор
но теперь благодаря опеннету все предупреждены.
Я тоже так думал, но разобрался и понял что все правильно.
Главное для perl - это данные пользователя, поэтому этот шаг сделан потому что является движением в направлении усилениях безопасности данных.
Вспомним о существовании механизма меченых данных (-T) который направлен чтобы обеспечить возможность безопасной работы в небезопасном окружении. Механизм сразу приводил к исключению "." так как будет работа в директории в которую скорее всего будет разрешена запись (например в /tmp).
Поэтому поиск модулей в "." по умолчанию может быть причиной вредного модуля, а это прямой доступ к данным. Поэтому мысль пришла к тому что по умолчанию желательно исключить ".". Получается что сейчас на серверах "." включен если специально не позаботились о его исключении, или perl работает не в режиме меченых данных. Если вам нужно включить - используйте штатный механизм perl -I (PERL_USE_UNSAFE_INC - временное решение и скорее всего будет удален в будущем).
Пришлось разорвать сообщения и долго пришло редактировать, т.к. тут на сайте фильтр реагирует на какие-то вполне обычные слова и, что интересно, выдает следующее предупреждение:"ОШИБКА: Попытка анонимной публикации с заблокированного IP-адреса.
С используемого вами IP-адреса ранее было совершена вредоносная активность.
Публикация комментариев с данного IP-адреса разрешена только для зарегистрированных пользователей"Почините пожалуйста, а то сильно надоедает. Постоянная проблема.
> "ОШИБКА: Попытка анонимной публикации с заблокированного IP-адреса.
> С используемого вами IP-адреса ранее было совершена вредоносная активность.
> Публикация комментариев с данного IP-адреса разрешена только для зарегистрированных
> пользователей"tor?
https://www.opennet.ru/openforum/vsluhforumID3/110971.html#78
Дело не в этом, а в том что реагирует на какое-то вполне штатное слово или выражение. Я не пытался материться, ругаться или оскорблять кого-то, просто писал более развернутый ответ о perl, режмие taunt и об опасности загрузки злоевредного кода.
> "ОШИБКА: Попытка анонимной публикации с заблокированного IP-адреса.Убрал эту проверку, ошибка срабатывала при входе с Tor, совпадении с черным списком недавних нарушений и определении ряда признаков (в вашем случае смешивание латинских и русских символов в одном слове и упоминание сайта reg.ru).
>> "ОШИБКА: Попытка анонимной публикации с заблокированного IP-адреса.
> Убрал эту проверку, ошибка срабатывала при входе с Tor, совпадении с черным
> списком недавних нарушений и определении ряда признаков (в вашем случае смешивание
> латинских и русских символов в одном слове и упоминание сайта reg.ru).Вообще список признаков вполне разумный -- возможно, стоит вернуть, но добавить пояснение насчёт Tor явным образом.
Спасибо! Отличная новость.
Смешение русских и латинских бывает местами.
>Поэтому поиск модулей в "." по умолчанию может быть причиной вредного модуля, а это прямой доступ к данным.Ты не в теме. Вопрос в том, где эта "." указана. Если в конце, то все ок. Если в начале, то да, ж--а. На самом деле изменения были сделаны из-за того, что была создана CVE, где говорится, что есть "потенциальная" возможность эксплуатации данной уязвимости. Увы, авторы Perl после ухода Леммана скатились еще больше, и в итоге запилили чушь. Потому что нынешние "патчи" к core-модулям это всего навсего костыли.
Не нужно было трогать @INC, т.к. если имеется возможность что-то записать в директорию со скриптом, то можно с такой же легкостью и заменить сам скрипт и сделать гадость без всякого @INC. Это предложение выдвигалось, но CVE-же!
Из года в год Perl все ближе к своему R.I.P. Те, кому действительно мешает этот @INC давным давно пропатчились. Посему в том же reg.ru все пишется под Perl 5.10 :)
Жутко бесит что снова не могу ответить номально. Та же самая ошибка:"ОШИБКА: Попытка анонимной публикации с заблокированного IP-адреса.
С используемого вами IP-адреса ранее было совершена вредоносная активность.
Публикация комментариев с данного IP-адреса разрешена только для зарегистрированных пользователей"
Могу только сказать тебе анон: думай тщательнее прежде чем лепить горячку. Ты не прав, все верно сделано.
> Жутко бесит что снова не могу ответить номально.
> Могу только сказать тебе анон: думай тщательнее прежде чем лепить горячку. Ты
> не прав, все верно сделано.Вот именно. Тебе удалось запостить это сообщение, только без информативного содержания. Ты прав, а кругом д'Артатьяны. Старая песня...
Глаза подними повыше на сообщение #6.89 от Maxim Chirkov.
> Не нужно было трогать @INC, т.к. если имеется возможность что-то записать в
> директорию со скриптом, то можно с такой же легкостью и заменить
> сам скрипт и сделать гадость без всякого @INC. Это предложение выдвигалось,
> но CVE-же!Причем тут директория со скриптом? Скрипт может лежать где угодно, т. е. CWD может не совпадать с директорией, в которой лежит скрипт.
>Причем тут директория со скриптом? Скрипт может лежать где угодно, т. е. CWD может не совпадать с директорией, в которой лежит скрипт.При том, что выставлять cwd забота программиста приложения, а не ЯП. Давайте патч, который сразу в chroot уходит, где вообще ничего нет. И все! Проблем нет!
> При том, что выставлять cwd забота программиста приложения, а не ЯП.И что не так? Программист приложения, а не ЯП как вы уточнили, позаботился и выставил cwd. Приложение запускается и делает так как запрограммировал программист приложения после запуска. В итоге, cwd все равно может не совпадать с директорией, в которой лежит скрипт.
Так опростоволоситься. Для вашего развития я вам рекомендую почитать к примеру о work_dir в man Proc::Daemon . Еще вопросы?
>Еще вопросы?Да. Вот сделаю я cwd('/') и что дальше. Как @INC навредит со своей "."? Только не надо ляля, что у тебя на / три семерки стоит.
> Да. Вот сделаю я cwd('/') и что дальше. Как @INC навредит со своей "."? Только не надо ляля, что у тебя на / три семерки стоит.Да, это не тот случай когда "." в @INC может создать проблемы, но есть возможные сценарии использования когда использование штатных средств наличие "." в @INC создает проблему и несет потенциальную угрозу. Где-то в треде я уже упоминал что лично для меня удаление "." из @INC снимает сразу 2 проблемы.
>Да, это не тот случай когда "." в @INC может создать проблемы, но есть возможные сценарии использования когда использование штатных средств наличие "." в @INC создает проблему и несет потенциальную угрозу.Это что за такие случаи? Т.е. если говорит по делу, неприлигированный пользователь может писать в директорию где находятся скрипты, модули, которые перловый процесс подгружает (не важно в каком режиме работает программа, демон или по крону, иль руками). О чем это говорит? О том, что кто-то плюет на безопасность. Таких даже убирание "." не спасет. Почему? Да просто потому что ваши подгружаемые файлы можно тупо заменить, ибо чихать вы хотели на выставление прав, прикручивание SELinux, чексамы и прочее-прочее.
Я не удивлен. Мои мысли также выносились в обсуждение в p5p и что? Чхать все хотели. Стал ли для меня "безопаснее" перл? Нет, зато do() сломали так, что теперь пользоваться без слез невозможно. Реально все стало похоже на школокод. Как вычислять абсолютные пути я могу в серьезных приложениях без проблем, а как дело доходит до однострочников, то вот это do "./script.pl" выглядит как поделка. Спасибо. И про -T конечно всем плевать. Говорю же, давайте сразу в chroot, чего мелочится!
> Это что за такие случаи? Т.е. если говорит по делу, неприлигированный пользователь может писать в директорию где находятся скрипты, модули, которые перловый процесс подгружает (не важно в каком режиме работает программа, демон или по крону, иль руками). О чем это говорит? О том, что кто-то плюет на безопасность. Таких даже убирание "." не спасет. Почему? Да просто потому что ваши подгружаемые файлы можно тупо заменить, ибо чихать вы хотели на выставление прав, прикручивание SELinux, чексамы и прочее-прочее.Сам придумал кривые случаи и сам поудивлялся. Аншлаг)) Ты не то придумал, как раз ради безопасности приходилось думать чтобы не подгрузилось нечаянно что-либо из-за ".". Я просто чувствую что ты пока далек он инфраструктурных проектов которые обеспечивают работу пользователей. Не суетись ты так и не переживай - это само придет со временем если оно тебе вообще нужно. И тогда ты поймешь почему "." убрали.
> Я не удивлен. Мои мысли также выносились в обсуждение в p5p и что? Чхать все хотели. Стал ли для меня "безопаснее" перл? Нет, зато do() сломали так, что теперь пользоваться без слез невозможно. Реально все стало похоже на школокод. Как вычислять абсолютные пути я могу в серьезных приложениях без проблем, а как дело доходит до однострочников, то вот это do "./script.pl" выглядит как поделка. Спасибо. И про -T конечно всем плевать. Говорю же, давайте сразу в chroot, чего мелочится!
Теперь тебя совсем унесло тебя восвояси. Заметь что ты сам все смешалось в кучу ради "вау"-эффекта. Стоило оно того если ты ушел далеко от ситуации в свои фантазии? А ситуация другая: тот же do() например, как ты выразился, "сломан" так что теперь вместо do 'file' надо писать do './file'. Я это специально подчеркнул в новости.
А тут кто-то кроме меня и администратора ресурса читал текст новости? :-) Вот честно скажи, ты читал и разобрался нормально что к чему? Никто слова не казал про /xx, ~ в here-docs или scalar(%HASH). Да и относительно пофигу - я вообщем-то для себя в первую очередь разбирал perldelta. Но perl стал безопаснее и лучше, поверь мне. Просто ты еще не узнал какие проблемы решаются. Но похвально что ты не отступаешь и пытаешься разобраться (был бы из отступающих - наверное был бы уже в python).
>Сам придумал кривые случаи и сам поудивлялся. Аншлаг))Вот поэтому и запилил фикс. Никто толком не знает про "потенциальные" ситуации, где "." что-то может сделать. Я ждал либо описания, либо кода, а ты как и все балаболишь только.
>Ты не то придумал, как раз ради безопасности приходилось думать чтобы не подгрузилось нечаянно что-либо из-за ".".
Что думать? Ты вкурсе что @INC модифицируется в рантайме? Не? Ты вкурсе, что патч @INC под себя дело на 2 минуты? Не? О чем ты? Где примеры? Впрочем, мне и так ясно, это все балабольство.
Реальные примеры я привел. Могу даже добавить, что есть класс программ, где динамически _нужно_ грузить рандомные модули. Например, плагины. И знаешь, что? Это проблема не перла, а приложения. Аналогичный вектор атаки есть в винде (он даже страшнее) и что? О нем нормальные программеры знают и зашивают абсолютные пути до DLL, а модули грузяться по абсолютному пути к директории с плагинами. И так несколько миллионов людей живут. И нечего.
И вот cwd('/') как раз таки решает проблему криворукий и ЛЕНИВЫХ программистов, которым лень работать с абсолютными путями. У них приложение "прыгает" из директории в директорию, грузить все что не попадя. Да, такие люди и не слышали про PERL5LIB, не слышали, что @INC оказывается модифицируется и т.п.
Все. Спор окончен. Главное ведь CVE прикрыли! Хурей!
>А тут кто-то кроме меня и администратора ресурса читал текст новости? :-)
Зачем его читать из вторых рук? Я лично подписан на p5p и читаю все. Вот ты бы мог привести ссылку из p5p, где проводится бенч по новым алгоритмам для хэшей. Но ты не привел. О чем это говорит? О том, что ты нытик. Убегаешь от темы. Впрочем, я тебя спас. Расслабься.
>Никто слова не казал про /xx, ~ в here-docs или scalar(%HASH).
Потому что это несусветная фигня, которая нужна 1.5 человеку, кроме может scalar(%HASH). И то, все привыкли либо к scalar(keys %HASH), либо 0+keys(%HASH) -- это надо было фиксить еще 15 лет назад, когда вышел 5.6. Или ты думаешь, все должны охать от того, что должно было быть пофикшено 15 лет назад? Походу ты слишком мало кодишь, поэтому для тебя такие вещи "в новинку". Все, не буду больше на тебя гнать. Пиши код. Пока!
> Вот поэтому и запилил фикс. Никто толком не знает про "потенциальные" ситуации, где "." что-то может сделать. Я ждал либо описания, либо кода, а ты как и все балаболишь только.
> балабольствоУ тебя странное стремление навесить ярлыки за счет однобокобого понимания ситуации. Я тебе специально не дал реальные примеры, посмотреть что получится. Посмотрел и понял :).
> Реальные примеры я привел. Могу даже добавить, что есть класс программ, где динамически _нужно_ грузить рандомные модули. Например, плагины. И знаешь, что? Это проблема не перла, а приложения. Аналогичный вектор атаки есть в винде (он даже страшнее) и что? О нем нормальные программеры знают и зашивают абсолютные пути до DLL, а модули грузяться по абсолютному пути к директории с плагинами. И так несколько миллионов людей живут. И нечего.
Есть еще другой класс программ, но даже дело не в них. Ситуация требовала фиксации "." в @INC не из-за этого. Если вы хорошо представляли что значит публичный проект, то у вас бы не возник баттхерт от правки @INC.
> Потому что это несусветная фигня, которая нужна 1.5 человеку, кроме может scalar(%HASH). И то, все привыкли либо к scalar(keys %HASH), либо 0+keys(%HASH) -- это надо было фиксить еще 15 лет назад, когда вышел 5.6. Или ты думаешь, все должны охать от того, что должно было быть пофикшено 15 лет назад?
Так c scalar(%HASH) тоже поломали совместимость. Где вой?
> Походу ты слишком мало кодишь, поэтому для тебя такие вещи "в новинку". Все, не буду больше на тебя гнать. Пиши код. Пока!
Или это у тебя серьезные психологические проблемы личности раз постоянно пытаешься нафантазировать какие-то упреки на пустом месте. Сходи к психологу. Пока :)
>Я тебе специально не дал реальные примеры, посмотреть что получится.Ты их не дал, потому что их нет.
>Есть еще другой класс программ, но даже дело не в них.
Дело как раз в них.
>Ситуация требовала фиксации "." в @INC не из-за этого.
И конечно же этого мы никогда не узнаем. Ты унесешь эту тайну в могилу вместе с собой.
>Если вы хорошо представляли что значит публичный проект, то у вас бы не возник баттхерт от правки @INC.
Отлично знаю. Загружаешь модули один раз, после chroot/cwd('/') и все работает как часы. Я так понимаю у вас хайлоад веб-проект и вы им очень гордитесь. Все веб-щики такие д'Артаньяны.
>Так c scalar(%HASH) тоже поломали совместимость. Где вой?
Ты лучше скажи что ты делал с этой конструкцией? :) Я пользовался тем, что ясно даже идиоту, чтобы код читабельный был. Выше дал пример. А что ты кодил, я даже не представляю. Впрочем неважно. Это доказывает ваши "познания".
> Ты их не дал, потому что их нет.Верно: я их не дал и у тебя их нет. Но это не значит что у меня их нет. У меня есть работающие приложения.
> Дело как раз в них.
> И конечно же этого мы никогда не узнаем. Ты унесешь эту тайну в могилу вместе с собой.Я уже тебе сказал, что придет время и ты сам наткнешься на эти проблемы как только столкнешься. Ой, хотя теперь вряд ли, т.к. "." в @INC уже нет. Так что тебе наверное даже не зачем знать, все уже будет безопасно.
> Отлично знаю. Загружаешь модули один раз, после chroot/cwd('/') и все работает как часы. Я так понимаю у вас хайлоад веб-проект и вы им очень гордитесь. Все веб-щики такие д'Артаньяны.
Снова мимо, д'Артаньян.
> Ты лучше скажи что ты делал с этой конструкцией? :) Я пользовался тем, что ясно даже идиоту, чтобы код читабельный был. Выше дал пример. А что ты кодил, я даже не представляю. Впрочем неважно. Это доказывает ваши "познания".
Ты так пишешь как будто в CPAN все модули мной писались за все 22 года.
>Верно: я их не дал и у тебя их нет.Я дал примеры, а ты нет. Как жаль, что ты анон, так бы занес тебя в свою тетрадь, чтоб не тратить больше на тебя времени.
Как бесят люди, которые НИФИГА полезного сказать не могут.
В процессе общения расхотелось тебе сообщать. Научись разговаривать с людьми.
> поэтому этот шаг сделан потому
> что является движениемвмемориз
Сдаётся мне, джентельмены, что это был Кличко.
Школьники != джентельмены. dic.academic.ru вам в помощь
"ниасилил"?
Если оно включается через "use v5.26;" - кто б спорил, нормальное решение. Если нет... 99% работающего перл-кода - легаси, нравится это кому-то или нет. Делать для него подобные ломающие изменения - нехорошо. А кто беспокоится - для того есть -T, как вы правильно заметили.
И по ходу они это дело под use v5.26 не отправили. Маразм.
Как бы все серьезно. Если что, вот посмотрите: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1238Вы же понимаете что безопасность и удобство - это вещи взаимоисключающие. Шаг был сделан в сторону безопасности данных и я вам попытался объяснить почему. Чтобы переход на 5.26 был не таким болезненным предусмотрительно ввели обоработку переменной PERL_USE_UNSAFE_INC. Я думаю все-таки по умолчанию на поставка должна быть рассчетом на безопасность по умолчанию. Прежний механизм сохраняется - можете сбросить -Udefault_inc_excludes_dot и пересборать perl. Но вы же понимаете что по умолчанию для боевых систем такой поставки быть не должно, риск сохраняется. Попробуйте меня услышать и понять.
да хрен с ним, с удобством. Очередной минор не должен ломать десятилетиями писаный код, когда такого кода - абсолютное большинство. Ну очевидная же вещь. В таких случаях надо костылить изо всех сил, любой ценой держа совместимость. Например - врубить эту механику в самом CPAN для ноаых версий модулей. Врубитъ для use v5.26 - было бы нормально. Наверняка ещ! что-то можнл было придумать. Но никак не дефолтом.
> да хрен с ним, с удобством. Очередной минор не должен ломать десятилетиями
> писаный код, когда такого кода - абсолютное большинство. Ну очевидная же
> вещь. В таких случаях надо костылить изо всех сил, любой ценой
> держа совместимость. Например - врубить эту механику в самом CPAN для
> ноаых версий модулей. Врубитъ для use v5.26 - было бы нормально.
> Наверняка ещ! что-то можнл было придумать. Но никак не дефолтом.На FreeBSD в порте perl5.26 сделали опцию:
DOT_INC=off: Add '.' to @INC (unsafe)
- http://www.freshports.org/lang/perl5.26/По умолчанию безопасно.
Но тут не просто механика и обновление. Дело в том что при штатных возможностях perl и определенных способах использовании, наличие "." в @INC даже последним элементом создает брешь в безопасности. Поэтому появился CVE и надо было закрывать уязвимость. Ну а то что это создаст проблемы для текущих и старых модулей - это не проблема, т.к. проблема сраз даст о себе знать на этапе запуска, и починить проблему не составит труда, т.к. это просто технический ньюанса.
Нельзя переводить доработку под `use v5.26', т.к. по умолчанию оставалась бы брешь в безопасности.
> Очередной минор не должен ломать десятилетиями писаный код, когда такого кода - абсолютное большинство.Угу. Они должны были инкрементировать мажорную версию ради изменения дефолтов. Чтобы у опеннета появился бы повод обвинять разработчиков в том, что они пытаются номером версии догнать файрфокс.
Опеннет... такой опеннет.
Похоже кто-то поменял в тексте новости все символы «меньше» на фигурную скобку, а комментаторы даже не заметили :-)
Протестировал скорость выполнения вызовов в разных версиях perl. Тестировал тщательно, результаты в пределах погрешности разнес в две группы.v5.10.1 - v5.22.3
a) 623193.25 65.58%
b) 2305539.25 62.30%v5.24.1, v5.26.0
a) 950320.75 100%
b) 3700615.5 100%ПРОФИТ! Есть смысл использовать новые версии perl.
В reg,ru все плохо.
>ПРОФИТ! Есть смысл использовать новые версии perl.Знаешь, в чем правда? Быстрее сишки и асма ничего нет. И дяди, которые делают веб-фуфло это отлично понимают. Им не нужен быстрый перл, им не нужна даже сишка. Все, что нужно это читабельный, качественный код.
Именно по этой причине "взлетел" Mojo, тормозной кусок мамомнта. Именно по этой причине "любят" тормозной кусок мамонта "Moo" и его 100500 клонов. Так что, ты не сорвал покрывала, просто ща у тебя разорвет шаблон и бомбанет :)
чё те там плохо? на ул, ак. Павлова? или в Вертикале? уж забыл где который регистратор.
Или ты про либы для партнёров? в руцентре на моей памяти было пожосче
"изменения затронули 2600 файлов" сколько же они уже тогда вобще г0внокода наваялили?!...