The OpenNET Project / Index page

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

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

21.05.2021 12:31

После 11 месяцев разработки состоялся релиз новой стабильной ветки языка программирования Perl - 5.34. При подготовке нового выпуска было изменено около 280 тыс. строк кода, изменения затронули 2100 файлов, в разработке приняли участие 78 разработчиков.

Ветка 5.34 выпущена в соответствии с утверждённым восемь лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.34.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.34.0. Одновременно с выходом Perl 5.34 прекращена поддержка ветки 5.30, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.35, на базе которой в мае или июне 2022 года будет сформирован стабильный релиз Perl 5.36, если Perl 5 не заменит ветка Perl 7.

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

  • Добавлена экспериментальная поддержка синтаксиса try/catch для обработки исключений, который можно использовать вместо не очевидных манипуляций с "eval". Блок "try" включает блок с выполняемым кодом, а блок "catch" с кодом для обработки любого исключения, которое может возникнуть при выполнении первого блока. В "catch" определяется переменная, содержащая данные, переданные при формировании исключения (например, при срабатывании исключения на вызов "die" будет передана указанная в качестве аргумента строка). Внутри блоков "try" и "catch" разрешены операторы переходов, включая return, goto, next, last и redo.
    
       use feature 'try';
     
       try {
           a_function();
       } catch ($e) {
           warn "An error occurred: $e";
       }
    
  • Разрешено использование пустой нижней границы диапазона в блоках "{a,n}", в том числе используемых в регулярных выражениях. Например, теперь можно указывать "{,3}".
  • Внутри параметров с фигурными скобками {m,n}, \b{}, \g{}, \k{}, \N{}, \o{} и \x{} разрешено использование пробелов, если пробел прилегает к фигурной скобке или запятой, для двойного экранирования или в шаблонах регулярных выражений, например, теперь можно указывать "qr/a{ 5, 7 }/" или "\x{ FFFC }" без заключения значений в кавычки.
  • В дополнение к шестнадцатеричным (0xddddd) и двоичным (0bddddd) литералам предложен новый синтаксис для задания восьмеричных чисел - "0oddddd", в которых для наглядности можно указывать подчёркивания (0o123_456). Поддержка нового синтаксиса также добавлена в функцию builtin oct().
  • В движке регулярных выражений устранена утечка памяти.
  • Обновлены версии модулей, входящих в базовую поставку. В состав включён модуль ExtUtils::PL2Bat для преобразования perl-скриптов в bat-файлы для запуска в Windows.
  • Добавлена поддержка сборки Perl для системы 9front (форк Plan9). Улучшена поддержка Plan9 и macOS. Прекращена поддержка ОС Symbian.


 
  1. Главная ссылка к новости (https://www.nntp.perl.org/grou...)
  2. OpenNews: Сообщество разработчиков Perl покинул один из лидеров проекта
  3. OpenNews: Опубликован разбор инцидента с потерей контроля над доменом perl.com
  4. OpenNews: Анонсирован Perl 7
  5. OpenNews: Анализ рисков при воплощении в жизнь инициативы Perl 7
  6. OpenNews: Релиз языка программирования Perl 5.32.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55188-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (189) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:01, 21/05/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     

  • 1.4, Аноним (4), 13:04, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +27 +/
    Наконец-то! Релиз наилучшего языка для общесистемного программирования!
     
     
  • 2.16, Аноним (20), 13:35, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –21 +/
    Напиши на нём ядро, которое работает поверх голого железа, тогда поверю.
     
     
  • 3.24, Имя (?), 13:53, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +17 +/
    Этот язык не проектировался для этого. Стыдно этого не знать.
     
     
  • 4.76, Аноним (20), 16:51, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –11 +/
    Тогда стыдно приплетать к нему слово "общесистемный".
     
     
  • 5.80, Имя (?), 17:02, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +15 +/
    Юноша, "общесистемный" значит что подходит для разработки системных компонентов общего назначения. Ядро - это узкоспециализированная программа, и к общесистемным компонентам оно не относится.
     
  • 3.149, Grindz1 (?), 12:29, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ну ядро, не ядро, а еще в 2000 году ради прикола писал модуль ядра на перле.
     
  • 2.117, Прохожий (??), 00:15, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В чем его лучшесть?
     
     
  • 3.119, bi brother (?), 00:32, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > В чем его лучшесть?

    лично для меня: nytprof, pdb, perldoc, perlre, perlsyn, metacpan, perlmonks.

     

  • 1.5, Аноним (5), 13:05, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +10 +/
    Отличный язык! Говно руби-пхп-питон в сторонке
     
     
  • 2.19, Аноним (19), 13:36, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –4 +/
    Ну Руби-то не трожь. Этож просто объектно-смузно-клетчатый Перл.
     
     
  • 3.32, Аноним (32), 14:29, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –10 +/
    Но реально руби и перл одно и тоже по степени нужности, если их удалить никто ничего не потеряет.
     
     
  • 4.54, Аноним (54), 15:12, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +7 +/
    Без одного не работает гитлаб без другого опеннет.
     
     
  • 5.58, Аноним (32), 15:42, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –6 +/
    > Без одного не работает гитлаб без другого опеннет.

    Но зачем их тянуть на рабочие станции? Опеннет пора бы переписать на модно-молодёжное, а то 20 лет одни и те же баги. Гитлаб мне никогда не нравился.

     
  • 4.162, Аноним (162), 15:44, 22/05/2021 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Ради интереса запустите grep в каталогах bin, sbin и libexec в своей системе с поиском сигнатуры запуска perl. Сильно удивитесь.

    Если вы не поняли, как это сделать, то лучше просто не позорьтесь. Не знать как устроена ваша операционная система не стыдно. Стыдно на основании этого утверждать ненужность.

     
     
  • 5.164, Аноним (32), 16:08, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    А что там от перла зависит? Ну autotools, openssl (зачем?), qt/kde, может ещё wine. Какие-то скрипты линукса (не используются при сборке). Вот собственно и всё.

    >Сильно удивитесь.

    10 перлоскриптов далеко не первой необходимости (они лежат только как запасной вариант на всякий случай) зависят от перла, чему тут удивляться?

     
     
  • 6.165, Аноним (32), 16:11, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Кстати наметилась некоторая тенденция все востребованные утилиты переписывать с перла на си. Надо было сразу писать на си и не страдать хернёй, сишка для скриптов самое то.
     
  • 4.167, макпыф (ok), 19:47, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    а теперь посмотри в своем пакетном менеджере скок всего от перла зависит.

    И кстати сборочные скрипты ядра тоже на нем

     
     
  • 5.168, Аноним (32), 19:55, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так я посмотрел. Почти ничего не зависит, не больше 1% софта (большая часть из которого перлоскрипты и есть). Что такое сборочные скрипты ядра? GNU make написан на перле?
     
     
  • 6.169, макпыф (ok), 19:58, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Так я посмотрел. Почти ничего не зависит, не больше 1% софта (большая
    > часть из которого перлоскрипты и есть). Что такое сборочные скрипты ядра?
    > GNU make написан на перле?

    ядра linux, там если вы не знали, не только GNU make, но и куча самописных скриптов

    и софта там не мало, в том числе dpkg и autotools, да и много сборочных скриптов у программ.

     
     
  • 7.170, Аноним (32), 20:07, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не, у меня такого нету, 1500 пакетов где-то. Только autotools незаменимый. Как хорошо что всего ~15% софта от автотулс зависит и с каждым днём его всё меньше -- в основном это всякое старьё не особо живое уже вроде mc и motif (хотя конечно это "стандарт" и от автотулсов ещё не скоро избавимся). Если не собирать софт автотулсом, то вроде как пользователям и не надо перл. А что они делают, эти скрипты? Они ведь не нужны для сборки ядра, разве нет?
     
     
  • 8.171, макпыф (ok), 20:12, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    поищи в исхах ядра файлы pl найдет несколько десятков, и они - часть kconfig и ... большой текст свёрнут, показать
     
  • 3.70, rshadow (ok), 16:37, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Тогда уж и php это Perl for Home Pages.
     
     
  • 4.133, marko777 (ok), 07:46, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В точку, а вместо слона - бегемот
     
  • 2.210, Аноним (-), 19:09, 26/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    пора бы уже повзрослеть
     

  • 1.7, Че_ (?), 13:06, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    > было изменено около 280 тыс. строк кода, изменения затронули 2100 файлов, в разработке приняли участие 78 разработчиков.

    Выглядит пугающе...

     
     
  • 2.148, Бывалый (?), 12:17, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Там всё тестами покрыто вдоль и поперёк
     
  • 2.174, Аноним (-), 05:59, 23/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Новость о релизе ядра посмотри, вообще истерика будет.
     

  • 1.8, Васян (?), 13:07, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +3 +/
    Жалко что похерили Perl. На python не нравится скрипты писать.
     

     ....большая нить свёрнута, показать (45)

  • 1.9, Аноним12345 (?), 13:13, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Трай-кеч - это круто
     
     
  • 2.114, Карабьян (?), 23:46, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В гугле на c++ запрещен
     
     
  • 3.177, anonymous (??), 08:18, 23/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В гугле в большинстве своём работают вчерашние студенты и индусы.  Они не знают как использовать С++ правильно, и особенно исключения.  Поэтому их и запретили.  Т.е. запретили от незнания.
     
     
  • 4.180, Карабьян (?), 16:33, 23/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > В гугле в большинстве своём работают вчерашние студенты и индусы.  Они
    > не знают как использовать С++ правильно, и особенно исключения.  Поэтому
    > их и запретили.  Т.е. запретили от незнания.

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

     
  • 3.211, lockywolf (ok), 11:30, 30/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Я вот раньше пользовался, потом перестал.

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

    (Матлаб)

    Плюс вроде хочется checked exceptions, а они ни в джаве, ни в плюсах нормально не сделаны.

     
  • 2.124, Аноним (124), 03:44, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    True кач 💪
     

  • 1.11, привет (ok), 13:17, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    нативный трай-кетч действительно давно пора было завезти

    Long Live Perl!

     
     
  • 2.65, wd (?), 16:19, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    а толку? ну делали вон given/when - многие его пользуют?
    я по прежнему пишу так, что будет и на 5.8 работать
    вот только когда уже совсем уверен, что только для меня, и больше нигде, то use v5.12 вместо use strict
    да и вся эта фигня с try-catch на eval не столь популярна, просто потому, что оно в перле толком не нужно - другой подход
     
     
  • 3.74, rshadow (ok), 16:46, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    В любом случае эти операторы полегче понимать. Особенно новичкам. Запоздалое решение.


     
     
  • 4.134, marko777 (ok), 07:48, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    хех, таких новичков нам не надо
     
  • 3.85, привет (ok), 17:14, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > а толку? ну делали вон given/when - многие его пользуют?
    > я по прежнему пишу так, что будет и на 5.8 работать
    > вот только когда уже совсем уверен, что только для меня, и больше
    > нигде, то use v5.12 вместо use strict
    > да и вся эта фигня с try-catch на eval не столь популярна,
    > просто потому, что оно в перле толком не нужно - другой
    > подход

    given/when тоже не использую-не самое красивое на мой взгляд
    решение, лучшеб сразу сделали обычный свич, как везде.

    а конструкция трай-кетч хорошо зайдет новичкам (изучавшие другие яп)
    - ненадо ставить/подключать try:tiny и тем более евалить.
    в любом случае приятно читать что любимый язык развивается :)

     
  • 3.145, Ag (ok), 11:19, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Так оно вроде так и не вышло из экспериментального статуса. Мы уж лучше пока по старинке if ... elsif ... else ...
     
     
  • 4.157, wd (?), 13:57, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    свич на перле можно весьма разными способами сделать, я обычно это об хэш функций делаю, или об тернарный оператор
    но вот для последнего мне очень не хватает простого сравнения $_ с чем угодно
    иногда делаю чтото в духе sub is{$_ eq $_[0]} ну и потом:
    for($foo){
       is 'qwe' ? do { ... }
      :is 'asd' ? do { ... }
      :()
    }
     

  • 1.13, rvs2016 (ok), 13:22, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > Разрешено использование пустой нижней границы диапазона
    > в блоках "{a,n}", в том числе используемых в регулярных
    > выражениях. Например, теперь можно указывать "{,3}".

    Какая будет нижняя граница по умолчанию? 0 или 1?

     
     
  • 2.26, ыы (?), 14:17, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    может undef ?
     
     
  • 3.39, Anonymoustus (ok), 14:42, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Опеннетчики не оценят шутку.
     
  • 3.89, YetAnotherOnanym (ok), 17:49, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    <trollmode>NaN же!</trollmode>
     
     
  • 4.94, Anonymoustus (ok), 18:26, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Этой шутки опеннетчики тем более не оценят!
     
     
  • 5.110, rvs2016 (ok), 22:20, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Этой шутки опеннетчики тем более не оценят!

    Ну может быть таки оценят undefined, null, nil, 0x00 ну и чё там у нас по сусекам по разным другим языкам по этой теме наскрести можно? :-)

     
  • 5.151, Michael Shigorin (ok), 13:23, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    И вот тут я задумался: а Вы-то опеннетчик, не оценили или дано третье. :-)
     
     
  • 6.154, Anonymoustus (ok), 13:34, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а Вы-то опеннетчик

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

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

     
  • 2.146, Ag (ok), 11:23, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    "0E0" ;)
     

  • 1.14, Аноним (14), 13:34, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Ну уж если в перл завезли try-catch, то может и в Го, наконец, возьмутся за нормальную обработку ошибок.
     
     
  • 2.93, PnD (??), 18:08, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +4 +/
    В Go есть множественность возвращаемых значений. И best practices "как это использовать".
    Там даже понятие "идиоматический код" педалят. Потому что концепция "это можно сделать единственным способом".
    Учитывая, что одной из фишек Go является близкая к нативной скорость исполнения (хотя и GC), вряд ли туда потащат монструозный (в реализации) try-catch. В обозримости. Но, время покажет…

    В Perl концепция противоположная. Куча способов. Было бы желание воспользоваться. Чем-то напоминает макетную плату в радиоэлектронике. Где-то удобно и продуктивно. А где-то — ругаются "что тут за соплей понавертели".
    И да, "вменённая" типизация очень гибкости способствует. Хотя помню, как сам когда-то пугался страшных значков.
    * Но вот с реализацией многопоточности в Perl не очень.

     
     
  • 3.155, Додо (?), 13:45, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    В Go, при всей его простоте, невозможно узнать, где именно появилась ошибка. Особенно весело, когда ошибка идет откуда-то из глубин чужой библиотеки и используется в 100500 местах. Приходится ставить breakpoint'ы на все места своей функции, где может возвращаться ошибка, затем ставить их на вызов функции и идти вглубь, исследуя код.
    Вдобавок нужно вручную управлять всеми ошибками, определяя, вернуть эту ошибку или проигнорировать.
    Исключения справляются с обоими проблемами. В них сохраняется stack trace и их можно отлавливать там, где нужно.
     
     
  • 4.209, www2 (??), 08:09, 26/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вообще-то в go выводится трассировка стека. Смотришь на те строчки, где твой код и проверяешь, нет ли в нём ошибок. Чужой код, конечно, труднее исправлять, на то он и чужой.
     
  • 2.178, anonymous (??), 08:19, 23/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    В Перле try/catch был всегда.  Теперь только специальную конструкцию для него сделали.
     

  • 1.18, user90 (?), 13:35, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    О, тема! Все руки до него не доходят побыдлокодить, вдруг зайдет?
     
     
  • 2.41, Anonymoustus (ok), 14:45, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +6 +/
    Пробуй, не пожалеешь! Это самый прикольный язык из всех. Ну, может, лиспы и Форт местами прикольней, но я всё же не уверен.


    Канонические книжки по нему лучше читать, на мой взгляд, в таком порядке:


    1. The Llama Book, or Learning Perl.

    https://en.wikipedia.org/wiki/Learning_Perl


    2. The Alpaca Book, or Intermediate Perl.

    https://en.wikipedia.org/wiki/Intermediate_Perl


    3. Mastering Perl


    Сначала эту трилогию, а дальше можно читать другие.


    4. The Camel Book, or Programming Perl

    https://en.wikipedia.org/wiki/Programming_Perl


    5. The Shiny Ball Book, or Effective Perl Programming

    https://en.wikipedia.org/wiki/Effective_Perl_Programming


    и т. д.

     
     
  • 3.49, user90 (?), 15:08, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Ну вот нужно парсер (конвертер) HTML забацать, может попробую на сабже.
     
     
  • 4.50, Аноним12345 (?), 15:10, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –2 +/
    В перле порог вхождения выше
    Лучше попробовать сначала в питоне
     
     
  • 5.75, rshadow (ok), 16:50, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > В перле порог вхождения выше
    > Лучше попробовать сначала в питоне

    Это не правда. Питон хоть на Си и больше похож, но там столько ньюансов использования. Сам язык располагает программу к падению.
    В перле будет намного проще обработка текста. Даже регэкспы если потребуются там встроены и удобны.


     
     
  • 6.81, Аноним (32), 17:03, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –4 +/
    Уронить питон, что? В питоне есть lxml (сишная обёртка над libxml2 которая "стандарт индустрии") и очень эффективная. В питоне есть bleach от мозиллы (уже готовое). И есть beautiful soap. Если серьёзно, то выбор тут может быть только питон.
     
     
  • 7.152, Michael Shigorin (ok), 13:26, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Если серьёзно, то выбор тут может быть только питон.

    Дали анониму гвоздодёр и консервную банку... <третий звонок>

     
  • 7.158, wd (?), 14:01, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    btw, отсутсвие статеек на говнохабре не означает неумение перла подтягивать сишные обертки
    перл из коробки умеет дергать so/dll (и я не про xs)
     
     
  • 8.159, Аноним (32), 15:02, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вопрос в том, насколько это всё применимо, и сколько придётся костылять с разной... текст свёрнут, показать
     
  • 6.96, привет (ok), 18:55, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +5 +/
    >> В перле порог вхождения выше
    >> Лучше попробовать сначала в питоне
    > Это не правда. Питон хоть на Си и больше похож, но там
    > столько ньюансов использования. Сам язык располагает программу к падению.
    > В перле будет намного проще обработка текста. Даже регэкспы если потребуются там
    > встроены и удобны.

    подскажите это где питон на си больше похож то? ))
    язык распологает к тому чтоб на нем писали как хотел автор языка
    видимо предпологалось обучить "правильному писанию" однако
    если по мне так все наоборот, учитывая что большенство других
    яп как раз Си подобные, но никак не питон

     
  • 4.51, Anonymoustus (ok), 15:10, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > Ну вот нужно парсер (конвертер) HTML забацать, может попробую на сабже.

    Скорее всего, не придётся изобретать, уже всё написано и лежит на CPAN или даже в дистрибутиве.

    Например:

    http://www.perlmeme.org/tutorials/html_parser.html

     
     
  • 5.66, другой Аноним (?), 16:23, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    А скомпрометированные глобально первичный CPAN и его зеркала уже восстановили?
    Чисто интересно, из-за того, что попадались интересные наработки, аналогов которых на было на С.
    А так, в продуктиве в своё время здорово подводил модуль для Оракла, который сам деинсталировался в поизвольный момент от 2 минут до 2 суток, что, хмм, несколько удивляло и напрягало.
     

  • 1.25, ыы (?), 14:16, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    >В состав включён модуль ExtUtils::PL2Bat для преобразования perl-скриптов в bat-файлы для запуска в Windows.

    Хм... а просто perl уже не работает в windows?  Или command.com (его еще не выкинули из винды?) в виндовс достиг такого развития что заменяет собой perl.exe?

     
     
  • 2.45, привет (ok), 14:55, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    я тоже заинтересовался и посмотрел что это такое
    генерит вот такую запускалку и всего то:

    @rem = '--*-Perl-*--
    @set "ErrorLevel="
    ....
    @if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" @goto endofperl
    @if %ErrorLevel% == 9009 @echo You do not have Perl in your PATH.
    @goto endofperl
    @rem ';
    #!/usr/local/bin/perl

    == код скрипта ==

    __END__
    :endofperl
    @set "ErrorLevel=" & @goto _undefined_label_ 2>NUL || @"%COMSPEC%" /d/c @exit %ErrorLevel%


    совершенно непонятно зачем оно нужно

     
     
  • 3.61, n00by (ok), 15:54, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так там же в консоли нельзя запустить скрипт, просто введя его имя. Этот командник в вырезанных строчках, наверное, запускает интерпретатор и передаёт себя в качестве аргумента?
     
     
  • 4.86, привет (ok), 17:31, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Так там же в консоли нельзя запустить скрипт, просто введя его имя.
    > Этот командник в вырезанных строчках, наверное, запускает интерпретатор и передаёт себя
    > в качестве аргумента?

    ну вроде того, как я понял - это весь его функционал
    пару раз делал для винды бертку вроде
    /path/to/perl script.pl $1 $2 $3
    или как там (точно уже не вспомню)
    так имхо проще чем писать модуль для такой конвертилки

     
  • 4.91, ыы (?), 17:56, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    можно. ассоциация файлов по расширению.
     
     
  • 5.137, n00by (ok), 09:24, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > можно. ассоциация файлов по расширению.

    Которая работает при клике мышкой в окошке "папки"? Какое отношение оно имеет к консоли, когда даже скрипт на штатном Бейсике запускается exe-шником https://docs.microsoft.com/ru-ru/windows-server/administration/windows-command

     
     
  • 6.138, ыы (?), 09:33, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Я мог бы приложить скриншот, как введенный в командную строку черного окошка cmd имя файла name.pl запускается на исполнение по нажатию клавиши Энтер, но... вы же просто троллите правда?
     
     
  • 7.140, n00by (ok), 10:08, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Нет, я не троллю. Я видел код функции, которая запускает процессы. WinExec(), если правильно помню. Так что я поинтересуюсь версией Windows, с которой это появилось.
     
     
  • 8.141, ыы (?), 10:25, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    в семерке - работает, более ранние- хз... текст свёрнут, показать
     
  • 8.142, ыы (?), 10:33, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    в виндовс ХП работает причем активстате перл прописывает ассоциацию автоматиче... текст свёрнут, показать
     
     
  • 9.144, n00by (ok), 11:15, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Спасибо, нашёл как это делается https docs microsoft com en-us windows-server ... текст свёрнут, показать
     
  • 2.69, wd (?), 16:31, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    на самом деле эта радость была еще в active perl под 95 винду, я даже, до этой новости, был уверен, что это штатно в перле есть давно

    ну и вообще был какойто reg файлик, который уговаривал скрипты на перле работать в cmd, но это было больше 20 лет назад, я давно выпал из виндового мира

     

  • 1.29, Аноним (32), 14:28, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –3 +/
    Редхат пропихнул 1000 перловых зависимостей в xdg-utils от которого все зависят. Подонки.
     
     
  • 2.38, Аноним (-), 14:41, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Редхат ... Подонки.

    Нет, это Редкостные Гады.

     
     
  • 3.52, Аноним12345 (?), 15:11, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Дак это исторически идет лт первых версий
    Как я понимаю, в какой-то момент уже невозможно стало отказаться
     
  • 2.84, n00by (ok), 17:12, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Заботятся о конкурентах У них же gnome Там File-MimeInfo не нужно, используетс... большой текст свёрнут, показать
     

  • 1.34, Аноним (32), 14:34, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –5 +/
    5 ветка же всё ещё в 90х, что они там добавляют? Все давно ушли кто куда, самые упорные любители ушли на 6.
     
     
  • 2.53, Аноним12345 (?), 15:12, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –7 +/
    По большому счету, плач ярославны
    Время перла ушло
    Его заменил питон
     
     
  • 3.98, привет (ok), 19:13, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > По большому счету, плач ярославны
    > Время перла ушло
    > Его заменил питон

    долго ли будет еще мода на питон-то? )

     
     
  • 4.125, Аноним (125), 04:38, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Питон не сильно младше перла так-то.
     
  • 4.127, Аноним (127), 07:01, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    >долго ли будет еще мода на питон-то? )

    Пока не придумают новый язык для тупых студентов.

     

  • 1.42, Аноним (42), 14:45, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Оператор ~~ можно использовать или нет, ув. коллеги?
     
     
  • 2.43, Аноним (-), 14:48, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Не знаю.
     
  • 2.47, привет (ok), 14:57, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    smart match давно работает
    щас посмотрел - аж с 5.10
     
     
  • 3.56, worldmind (?), 15:18, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Его сразу объявили депрекэйтед, вот человек и спрашивает удалили уже или ещё нет.
     
     
  • 4.72, Аноним (42), 16:39, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Именно. Очень жаль, что его дропнули, реально киллер-фича была.
     
  • 4.97, привет (ok), 19:00, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Его сразу объявили депрекэйтед, вот человек и спрашивает удалили уже или ещё
    > нет.

    чего незнал того незнал
    а чего дропнули то?
    Я, правда, его и не использовал никогда, так пару раз -посмотреть

     
     
  • 5.156, Аноним (42), 13:51, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а чего дропнули то?

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

     
  • 2.77, rshadow (ok), 16:56, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Лучше не использовать. Deprecated.
     
  • 2.120, dotpot (?), 01:32, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Если собираете Perl под проект, то юзайте (https://metacpan.org/pod/perlexperiment)
     

  • 1.64, Леголас (ok), 16:18, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    надо как-нибудь для общего образования прикоснуться к этому языку
     
     
  • 2.68, Аноним (54), 16:25, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +10 +/
    Не делай этого, а то поумнеешь и перестанешь в комменты на опеннете заходить.
     
     
  • 3.132, Прохожий (??), 07:43, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Не делай этого, верблюдиком станешь.

    Поправил, не благодари.

     
     
  • 4.135, marko777 (ok), 07:54, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    а вы кто по гороскопу?
     
  • 3.202, Аноним (202), 23:47, 23/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Чую обман: ты либо не знаешь перл, но советуешь, либо не поумнел, т.к. зашел в комменты на опеннете.
     
  • 2.78, rshadow (ok), 16:57, 21/05/2021 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    Если умеешь в асинхронщину посмотри еще на Coro. Для сравнения с другими языками.
     
     
  • 3.103, animechaos (ok), 20:52, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +3 +/
    Как бы не был жёсток в общении @mlehmann, но ушлёпок @xsawyerx и компания сломали нахрен нормальную работу проекта на актуальном perl больше чем на 4 года, хотя Марк продолжал периодически стараться поддерживать работу Coro.

    Да и до настоящего времени пользовать в продакшене хоть сколько-то свежий perl с Coro это, сцуко, нахрен не надо.

    Ушлёпки победили. А теперь @xsawyerx трусливо свалил прочь. Обиделся он.

    Там же есть история с @rurban

     
  • 3.175, Аноним (-), 06:06, 23/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    ...и POE
     
  • 2.160, Аноним (160), 15:17, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Это поделие из глубин мордора.
     

  • 1.67, Аноним (54), 16:24, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Поддержку Симбиан убрали? Вот это быстрая скорость реакции.  
     
     
  • 2.82, нах.. (?), 17:09, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +7 +/
    да еще и совместимость даже с 5.32 нигде не поломали, прикинь! Вообще не язык а фигня какая-то, как на нем вообще можно что-то писать, если он каждый день одинаковый?!


     
     
  • 3.122, Аноним (122), 03:24, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Можно, но зачем? Это ведь один раз написал и дальше тебя уже уволят. Не нужно каждый релиз рефакторить весь проект и переписывать на новом фреймворке
     

  • 1.83, Аноним (83), 17:10, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Очень хотелось бы использовать все богатство либ из Perl CPAN in-process в своих DotNet программах.

    В свое время увлекался однострочниками на перле и даже немного пописывать для WebGUI.org

    Смотрите сколько хороших и разных есть шлюзов в другие языки программирования:

    https://www.nuget.org/packages/Peachpie.Runtime/
    https://github.com/Taritsyn/JavaScriptEngineSwitcher
    https://libraries.io/nuget/JCOBridge
    https://docs.microsoft.com/en-us/powershell/scripting/developer/hosting/adding
    https://libraries.io/nuget/pythonnet_netstandard_py39_linux

    А перл обделили хнык, хнык :(

    Возможно можно через эти шлюзы, и потом еще через их шлюзы :)
    но хотелось бы как-то более напрямую и без фокусов с сишечными сидеклами.

     
  • 1.88, Аноним (88), 17:48, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –2 +/
    Когда интерпретатор на асамблере перепишут?
     
     
  • 2.153, Michael Shigorin (ok), 13:31, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Зачем?
     

  • 1.90, iZEN (ok), 17:51, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Обновление на FreeBSD:

    0) ee /etc/make.conf
    DEFAULT_VERSIONS+=perl5=5.34
    1) portmaster -o lang/perl5.34 perl5
    2) portmaster p5-
    3) portmaster -f 'pkg shlib -qR libperl.so.5.34'

     
     
  • 2.101, Аноним (101), 19:44, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    https://en.wikipedia.org/wiki/PACT_(compiler)
     

  • 1.102, Аноним (102), 20:27, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    На перле осилил ток irsii скрипт для парсинга лог канала в IRC.
     
  • 1.104, Аноним (104), 21:10, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • –1 +/
    Что-то им с 6-ми версиями не прёт. пхп обломился и с 5 на 7 прыгнул, перл обломился и тоже с 5 на 7 собирается.
     
  • 1.106, Псевдоним (??), 21:42, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • –3 +/
    Прикольный без язык если его не читать. Но питон давно занял его нишу, а 2 одинаковых языка не нужно.
     
  • 1.108, Аноним (-), 22:00, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    ПОДТВЕРЖДАЕТСЯ то, о чём я здесь как-то раньше писал - язык развивать нужно с учётом опыта (А ТАКОЙ ОПЫТ ***УЖЕ*** ПОЯВИЛСЯ) из других успешных (что бы это ни значило) языков (например C++, C#). Неужели разработчики Perl не врубаются в то как фишки развивались в других языках?
    Вот они пишут -
    "***Ключевые*** изменения:  Добавлена ... поддержка ... try/catch" - а где же "finally"???? Без неё такая "поддержка" совсем-совсем не полноценна. И малопригодна. Любой эксерт это подтвердит. Это типа как ввести операцию "+", но "-" не вводить, мол крутитесь как хотите. Даже в  try:tiny - finally есть! finally - обязательна для "нормального" кода с исключениями. Если finally нет - то что делать? Вводить "флажки" и проверять их?)))) Так он и без такой "недофичи" это делает.
     
     
  • 2.111, Аноним (32), 22:22, 21/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    Талантливый язык талантлив во всём, ты просто не понимаешь гения пенсионеров.
     
  • 2.113, bi brother (?), 23:15, 21/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Полагаю минимизировали implementation complexity, что важно для core.

    >Без неё такая "поддержка" совсем-совсем не полноценна

    Вопрос спорный, что считать полноценным. Хочешь фич и оплатить - подключаешь либу, иначе bare metal. Однако я с тобой согласен, ввиду самой сути данной фичи.

    Лично мне она не нравится. Она, - как ты справедливо заметил - во первых куцая, а во вторых повторяет семантику eval/$@. А в core лично я ожидаю примитивы, а фичи, даже самые базовые (аля ListUtil) - в либах. И чем чаще фича востребована тем больше шансов попасть в corelib.

    Перл скатывается, и это не радует. Хоть обратную совместимость сохраняют, жить можно.

    Все равно равных нет.

     
     
  • 3.131, Прохожий (??), 07:33, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • –3 +/
    Равных в чем? Питон же успешно заменил, как тут пишут.
     
     
  • 4.136, bi brother (?), 09:10, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    > Равных в чем? Питон же успешно заменил, как тут пишут.

    Питон не заменит перл, как (c)profile не заменит nytprof, а pypi metacpan и тд.

    Другое дело, что не всем питонокодерам вообще нужен хороший дебаггер или профайлер, или регекспы на уровне операторов языка, или metacpan, или something else.

    Питон уже устарел, и сейчас мода на го. Выбрасывайте.))

     
     
  • 5.139, Аноним (88), 09:56, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > мода на го

    Терра

     
     
  • 6.143, ыы (?), 10:47, 22/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    отступы у него как у взрослых?
     
  • 5.166, Аноним (32), 17:24, 22/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    У го проблема с использованием нейтив кода, чисто для вебни и годится. Не в курсе за проблемы дебагерров/профайлеров питона, некоторое время некоторые из них опаздывали с поддержкой 3 ветки (лет на 10), но с тех пор вроде все успешно мигрировали. Что такое вообще хороший? Замерить и построить красивые графики? Ну так и это тоже есть, даже лучше чем у хрома.
     
     
  • 6.179, bi brother (?), 10:26, 23/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Что такое вообще хороший?

    https://metacpan.org/pod/Devel::NYTProf

     
  • 4.201, Gogi (??), 23:42, 23/05/2021 Скрыто ботом-модератором     [к модератору]
  • –4 +/
     
  • 2.200, Gogi (??), 23:38, 23/05/2021 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –4 +/
    >  try/catch" - а где же "finally"???? Без неё такая "поддержка" совсем-совсем не полноценна.

    Малолетний звездун! finally как раз самая редкоиспользуемая часть. Если б ты реально программировал, знал бы.

     
     
  • 3.204, Аноним (32), 01:54, 24/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Лол. В перле, может быть. Потому что там его нет ахаха.
     
     
  • 4.207, n00by (ok), 08:48, 24/05/2021 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В исходном утверждении было "например C++". Там нет finally, потому что RAII.
     

  • 1.130, Анончик (?), 07:30, 22/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –5 +/
    Вангую что человек отвечающий за резизы перла давно умер, и скрипт который он себе написал для минорных версий продолжает продолжает готовить минорные релизы.
     
  • 1.161, Аноним (160), 15:19, 22/05/2021 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • –4 +/
    Где перл используется в современных проектах?
     
  • 1.203, Kuromi (ok), 01:34, 24/05/2021 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    "Прекращена поддержка ОС Symbian."
    Вовремя это они.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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