The OpenNET Project / Index page

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

Доступен язык программирования Perl 5.40.0

10.06.2024 12:34

После 11 месяцев разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.40. При подготовке нового выпуска было изменено около 160 тыс. строк кода (без документации и автоматически сгенерированного кода - 110 тысяч), изменения затронули 1500 файлов, в разработке приняли участие 75 разработчиков.

Ветка 5.40 выпущена в соответствии с утверждённым одиннадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.40.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.40.0. Одновременно с выходом Perl 5.40 прекращена поддержка ветки 5.36, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. 20 июня начнётся процесс разработки экспериментальной ветки 5.41, на базе которой в мае или июне 2025 года будет сформирован стабильный релиз Perl 5.42, если не будет принято решение перейти к нумерации 7.x.

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

  • Расширены возможности, связанные с появившемся в прошлой версии экспериментальным синтаксисом для создания классов. Добавлено новое ключевое слово "__CLASS__", которое при вызове из методов, блоков ADJUST или при инициализации полей возвращает имя текущего класса по аналогии с тем как ключевое слово __PACKAGE__ возвращает имя пакета. В отличие от выражения ref($self) ключевое слово __CLASS__ может применяться при инициализации полей для доступа к методам класса на этапе до завершения создания экземпляра класса. Для базового класса значение __CLASS__ идентично значению __PACKAGE__, но будет отличаться при создании подклассов.
    
       use feature 'class';
       class Example1 {
           field $f = __CLASS__->default_f;
           sub default_f { 10 }
       }
    
  • Для определяемых внутри класса полей реализован атрибут ":reader", применяемый для автоматического создания метода, возвращающего значение переменной из поля в текущем экземпляре класса. Например, указание ":reader" после определения поля "field $s;" эквивалентно созданию метода "method s () { return $s; }". При необходимости можно задать не совпадающее имя метода при помощи конструкции вида "field $name :reader(get_name);".
  • Объявлен стабильным синтаксис обработки исключений try/catch, который можно использовать вместо неочевидных манипуляций с "eval". Блок "try" включает блок с выполняемым кодом, а блок "catch" с кодом для обработки любого исключения, которое может возникнуть при выполнении первого блока. В "catch" определяется переменная, содержащая данные, переданные при формировании исключения (например, при срабатывании исключения на вызов "die" будет передана указанная в качестве аргумента строка). Внутри блоков "try" и "catch" разрешены операторы переходов, включая return, goto, next, last и redo.
    
       try {
           my $x = call_a_function();
           $x < 100 or die "Too big";
           send_output($x);
       }
       catch ($e) {
           warn "Unable to output a value; $e";
       }
       print "Finished\n";
    
  • Стабилизирован синтаксис "for my (VAR, VAR) (LIST)" и "foreach my (VAR, VAR) (LIST)", применяемый для перебора списков с единовременным извлечением сразу нескольких значений в одной итерации цикла. Например, теперь можно указывать:
    
       foreach my ($key, $value) (%hash) { ... }
       for my ($left, $right, $gripping) (@moties) { ... }
    
  • Объявлен стабильным модуль builtin, включающий всегда доступные функции, встроенные в интерпретатор. В настоящее время в модуле предложены функции true, false, weaken, unweaken, is_weak, blessed, refaddr, reftype, ceil, floor, is_tainted, trim и indexed.
  • Добавлены новые экспериментальные встроенные функции inf и nan, доступные в пространстве имён "builtin::" ("builtin::inf" и "builtin::nan"). Данные функции можно использовать в качестве констант, определяющих бесконечность и нечисловое значение.
  • Добавлен новый логический оператор "^^", соответствующий операции XOR и дополняющий битовый оператор "^" (в Perl предоставляет три базовых битовых оператора "&", "|" и "^", соответствующих операциям AND, OR и XOR, но для логических операций до сих пор были доступны только варианты AND ("&&") и OR ("||")). Логическое выражение "$x ^^ $y" вернёт TRUE, когда либо "x", либо "y" имеют значение TRUE, но не одновременно.
  • Прекращена поддержка симуляции версий до 5.11. Использование директивы "use номер_версии", отключающей дополнительные возможности, добавленные в интерпретаторе после указанной версии, с номером версии меньше 5.11 (например, "use v5.8") теперь будет приводить к выводу ошибки, а не предупреждения. Аналогично добавлен вывод предупреждения при использовании в "use" версии меньше 5.39 (предупреждения будут заменены на ошибку в выпуске 5.44).
  • Разрешено использование пробела между опцией командной строки "-M" и именем модуля, например "perl -M Data::Dumper=Dumper -E 'say Dumper [1,2,3]'" (раньше нужно было писать "perl -MData::Dumper...").
  • Объявлено устаревшим использование оператора "goto" для перехода из внешней области видимости во внутреннюю. Поддержка данной возможности будет прекращена в версии Perl 5.42.
  • В основной состав включены модули Term::Table и Test2::Suite, предназначенные для создания unit-тестов. Обновлены версии модулей Archive::Tar, Compress::Raw::Bzip2, Compress::Raw::Zlib, Data::Dumper, DB_File, File::Compare, File::Find, Getopt::Long, Hash::Util, HTTP::Tiny, IO, Math::BigInt, PerlIO::encoding, Tie::File, Time::HiRes и т.п.
  • Добавлена поддержка операционной системы Serenity OS.
  • Устранены две уязвимости:
    • CVE-2023-47038 - запись за границу буфера при обработке некорректных Unicode-свойств, определённых пользователем. Проблема может привести к переполнению буфера на 1 байт при обработке специально оформленных регулярных выражений.
    • CVE-2023-47039 - возможность подмены исполняемого файла на платформе Windows из-за поиска cmd.exe в путях с использованием переменной окружения PATH, в которой текущий рабочий каталог является более приоритетным, чем системный каталог с исполняемым файлом cmd.exe.


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


Обсуждение (141) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 12:55, 10/06/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +9 +/
     

  • 1.3, Карлос Сношайтилис (ok), 12:58, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ветка 6.х будет пропущена как проклятая...
     
     
  • 2.7, beck (??), 13:20, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Perl6 это Raku.

     
     
  • 3.31, Аноним (-), 14:49, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Добалю свои пять. Измененая в проекте "Perl6" было настолько значимыми, что решили создать новый язык не заботясь об обратной совместимости с Perl5.
     
     
  • 4.61, Аноним (61), 20:40, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На то оно и мажорный релиз - существенные изменения.
     
  • 3.78, Аноним (78), 04:36, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто обьявят кодовым именем и назовут perl6 потом выпустят perl7
     
  • 3.138, nich (ok), 07:50, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чью с Raku?
     
  • 2.11, fi (ok), 13:23, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    FOREVER 5! )))

    тут куча неосилянтов сейчас набегут, а как не посмотрю какой нибудь проект - там perl добавили ))))))

     
     
  • 3.55, Аноним (55), 20:26, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это какие например проекты?
     
     
  • 4.63, Урри (ok), 21:10, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Его личные хомворлды, разве что только.
     
     
  • 5.135, Аноним (135), 04:45, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Может, они кружком пенсионеров собираются, закрывают какие-то гештальты
     

  • 1.4, Аноним (4), 13:16, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А новые проекты на нем создают?
     
     
  • 2.17, Цыган (?), 13:52, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да. И не мало. Но это специфические проекты для администрирования в основном.
     
     
  • 3.56, Аноним (55), 20:27, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Например?
     
     
  • 4.59, Цыган (?), 20:39, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Например?

    Вбиваете в поиске github language:Perl

     
     
  • 5.62, Анон666 (?), 20:53, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вбил, отсортировал по звездам: из 10 первых проектов 2 deprecated, 3 вообще не связаны с IT, 4 какие-то вспомогательные скрипты, 1 шуточный, 1 скриптик хоть как-то похож на администрирование, но последний апдейт в 2020. Может вы дадите пример этих специфичных новых проектов для администрирования? Хотя бы топ 3.
     
     
  • 6.143, _oleg_ (ok), 14:06, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что за странное желание хотеть именно *новых* проектов? Это о чём-то вообще разве говорит? Администрирование 3, 5 лет назад разве чем-то отличалось от сегодняшнего? Бред какой-то.
     
  • 4.74, Аноним (74), 02:18, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Например, его личные скрипты, которые не нужны примерно никому
     
  • 3.73, Аноним (4), 01:46, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя бы мастаба munin.
     
  • 2.77, Аноним (77), 02:47, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Создают. Но на гитхаб не выкладывают.
     
     
  • 3.79, Аноним (78), 04:38, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Секретные проекты в ЦРУ и пентагоне, а там еще другие коллеги сразу на COBOL помогают.
    Язык мертв наполовину. Новое поколение ообходит как легаси. Умрет через 20-30 лет окончательно.
     
     
  • 4.93, Аноним (93), 12:43, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Язык мертв наполовину.

    Программист-археолог -- так-то профессия будущего.

    >Новое поколение ообходит как легаси.

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

    >Умрет через 20-30 лет окончательно.

    Ну ты-то вечно жыдь собрался вместе с "новым поколением" (тм) "И это пройдет" (с)

     
  • 2.81, n00by (ok), 07:04, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Помнится, был тут кто-то, написал Desktop Environment на Perl. Его просто не видно на фоне священных войн X11 vs. Wayland и нытья по поводу "каким должно быть DE" сотен экспертов. Ссылку не  просите, я их в принципе не сохраняю (тем более что Perl мне не очень понятен). И тем более не стоит понимать это как неуважение к проекту или автору - таких бы человек 10, и не пришлось бы гордиться трендовыми сетами иконок и нескучными обоями.
     
  • 2.107, Вова (?), 13:53, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ДА: https://github.com/trending/perl
     

  • 1.6, Аноним (6), 13:18, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Добавлено новое ключевое слово

    Помню как перлунишки с пеной у рта доказывали, что bless - это все, что им нужно.

     
     
  • 2.45, _____ (?), 17:29, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Эксперементальный синтаксис, как мне показалось, несколько скуднее возможностями. и высокоуровневее
    К нему ещё добавлять и добавлять )) для того чтобы переманить особо искушённых.
     
     
  • 3.54, rvs2016 (ok), 19:29, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > для того чтобы переманить особо искушённых

    Сильно ли нужны такие особо искушённые, которые объявляют перл коболом наших дней? :-)

     

  • 1.8, beck (??), 13:21, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жаль, что развитие поехало, когда perl перестал использоваться.
     
     
  • 2.10, Аноним (6), 13:22, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Руководствовались принципом работает не трогай и застогнировали.
     
  • 2.27, xsignal (ok), 14:39, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С каких это пор перестал использоваться? Используется, да ещё как. Да хотя бы в ядре Linux.
     
     
  • 3.29, vcsir (?), 14:43, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    там на раст его потихоньку заменяют
     
     
  • 4.33, 12yoexpert (ok), 15:24, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    никогда на раст не заменят, синтаксис перла идеален по сравнению с растом
     
     
  • 5.57, Аноним (55), 20:28, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дашь ссылку на твои проекты на перле? А то в прошлый раз ты слился аккурат на этом вопросе)
     
     
  • 6.64, Аноним (64), 21:29, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А никто не слился, просто твою борзость игнорировали.
    Ты уже неоднократно пытаешься нарушить закон о защите персональных данных, выуживая чужую информацию, которую тебе никто показывать не обязан.

    Сам Столлман не стал делиться своим emacs-конфигом, сославшись на персональные данные. А ты хочешь целый проект. Ты бы ещё у Столлмана попросил первую версию Emacs, которую он мошенническим способом заполучил от Гослинга.
    Представляю, как бы он тебя послал.

     
  • 6.106, Вова (?), 13:52, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На перле есть целый линукс дистр!! Но за тебя я его гуглить не буду - развивайся, лентяй!
     
     
  • 7.137, Аноним (135), 07:01, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Прямиком из 2005 года, да: https://sourceforge.net/p/perllinux/code/ci/master/tree/

    В бьюзибоксе утилит больше, чем там.

     
  • 5.112, Аноним (112), 17:23, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >синтаксис перла идеален по сравнению с растом

    От '$' в глазах не рябит?

     
     
  • 6.145, _oleg_ (ok), 14:08, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты точно видел синтаксис rust :-)?
     

  • 1.9, Аноним (6), 13:21, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    кобол нашего времени.
     
     
  • 2.13, Аноним (13), 13:39, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Так ли много перла используется на практике? Он был минимально популярен в 90-е и с тех пор использовался исключительно теми, кому лень баш освоить.
     
     
  • 3.14, Анониссимус (?), 13:48, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Напротив, это на баше писали те, кому было лень освоить перл. А писать на баше -- это боль и содомия.
     
     
  • 4.16, Цыган (?), 13:50, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Баг всегда считался write only языком 😁
     
  • 4.113, Аноним (112), 17:25, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кому не хватает Баша, те добавляют Петончека.
     
     
  • 5.159, Анониссимус (?), 20:42, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Кому не хватает Баша, те добавляют Петончека.

    Это сейчас петухончег, а раньше была перловка.

     
  • 3.18, Афанасий (?), 13:53, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Прировнять Perl к Bash... Ммм... У тебя винегрет в голове.
     
     
  • 4.21, Аноним (21), 14:20, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мысли формулирует плохо, но идея верная В применениях для автоматизации чего-ни... большой текст свёрнут, показать
     
     
  • 5.22, Аноним (2), 14:24, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такая штука называется вендоринг. Это когда зависимости идут с прогой как часть  программы и ниоткуда не скачиваются. Это секретная техника никому про неё не рассказывай.
     
     
  • 6.24, Аноним (21), 14:35, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    PP зависимости конечно легко можно подложить в папочку. Но перл без XS - как водка без пива.
    Особой разницы нет, ставишь ты зависимости через cpan i (и они скачиваются) или они у тебя уже в папочке и ты делаешь там perl Makefile && make && make install? Ты компилишь и куда-то ставишь модули. Можешь их опакетить заранее. Но всем этим надо заниматься. С шелл скриптами все гораздо проще.
     
     
  • 7.105, Вова (?), 13:50, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Модули Перла могут быть на БЫСТРОЙ сишечке, давая "типа скриптовому" Перлу мощь железа. А просто "шелл" так и останется навозной мухой - никаких расширений там не будет, пока не напишут и не всунут в ядро.
     
  • 5.28, Аноним (28), 14:41, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  Перл чаще всего приходится устанавливать

    Где? ниодного дистра не видел чтобы там не было перла из каробки.

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

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

    и зачем голанг или перл если они один черт используют стандартные тузлы

     
     
  • 6.50, rvs2016 (ok), 19:10, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Где? ниодного дистра не видел чтобы там не было перла из каробки

    У наших перл во времена моей молодости вроде был прямо в коробке.
    А потом лет 10 назад его из коробки выкинули и теперь он устанавливается в систему дополнительно.
    Ну я его руками сам в систему всё-равно не устанавливаю, т.к. я устанавливаю Midnight commander, а ему для работы зачем-то нужен perl и поэтому миднай затягивает мне перла в систему сам без моих каких-то отдельных усилий. :-)

     
  • 5.32, Котофалк (?), 15:10, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В применениях для автоматизации чего-нибудь почти всегда есть возможность написать шелл скрипт.

    Если под автоматизацией понимать последовательный вызов утилит с несложной тасовкой параметров - да. Но если логика чуть сложнее, баш с костылями на месте массивов и хешей сразу теряет очки. Правда, для таких задач подходит уже не только перл и всё упирается в знания/предпочтения.

     
  • 3.146, _oleg_ (ok), 14:12, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ты балбес конечно :-D. На perl'е пишутся программы побольше и посложнее нежели на bash. На bash подобное это боль. Говорю это как человек, который периодически делает достаточно ёмкие программы на bash.
     
     
  • 4.147, Аноним (13), 15:03, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Неа, не пишутся. Да и какие, например? Писать "программы" на языке обработки текстов это уже диагноз. А с обработкой текстов баш получше справляется. Речь именно о том, как этот язык используется на практике.
     
     
  • 5.148, _oleg_ (ok), 15:10, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Неа, не пишутся.

    Ну тебе, конечно, виднее :-).

    > Да и какие, например? Писать "программы" на языке обработки
    > текстов это уже диагноз.

    Во-первых, perl давно не ЯП для обработки текстов. На данный момент он не более для обработки текстов, чем любой другой скриптовый ЯП. Во-вторых, ну допустим код серверной части web-приложения - вот тебе обработка текста. Весь http это обработка текста, xml, json и т.д.

    > А с обработкой текстов баш получше справляется.

    Нет. Не лучше. В том-то и дело.

    > Речь именно о том, как этот язык используется на практике.

    Так и я о том же. Тебе-то это откуда знать :-)?

     
     
  • 6.149, Аноним (13), 15:40, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты откуда пишешь, из болота какого-нибудь битрикса? Жуткое легаси и технический долг, смотри на вещи трезво.
     
     
  • 7.153, n00by (ok), 12:37, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > смотри на вещи трезво.

    Хорошая мысль. Для Bash есть аналог doxygen?

     
  • 2.26, xsignal (ok), 14:38, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не согласен. Кобол - узкоспециализированный многословный язык для финансовых приложений. Perl это даже его противоположность.
     
     
  • 3.49, Аноним (-), 18:35, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Общее у них то, что оба живут в своих нишах и не собираются умирать. В отличии от всяких Ruby (скоро и Rust с Go). Которые хайпанули и ушли в небытие.
     
     
  • 4.66, анонимус (??), 23:21, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Rust с Go никуда не уйдут. Они тоже нашли свои ниши.
     
     
  • 5.75, Аноним (74), 02:28, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Даже Ruby, к сожалению. Хотя если гитлаб однажды перепишут, количество Ruby-кода на серверах серьёзно упадёт.
     
  • 3.91, anonymous (??), 12:17, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кобол - это язык для манагеров, а Perl - язык для хакеров
     
  • 3.114, Аноним (112), 17:41, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Кобол - узкоспециализированный многословный язык для финансовых приложений. Perl это даже его противоположность.

    Perl - Practical Extraction and Report Language («практический язык для извлечения данных и составления отчётов»).

     

  • 1.15, Цыган (?), 13:49, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Если бы мне нужен был скриптовый язык, я бы выбрал именно перл. Не баш и не питон. Перл. Почему? Потому что я его знаю лет 20 как 🤗
     
     
  • 2.23, Аноним (2), 14:25, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Опеннет тоже сделали на перле потому что автор сайта ничего другого не знал. Да и моды на пхп тогда особо не было.
     
     
  • 3.36, Savaoff (?), 16:20, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сомневаюсь, что автор сайта опеннета не мог сделать его на php; но если бы он сделал его на php - то вынужден был бы регулярно переписывать с выходном очередной версии, что, имхо, просто бредово. А софт на perl'е работает десятилетиями, не требуя регуляоных правов из-за очередной блажи разработчиков языка.
     
     
  • 4.41, Аноним (2), 17:10, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мог но не знал. Пхп переписывать это только если готовую cms взял с комплектными отверстиями.
     
  • 3.53, rvs2016 (ok), 19:27, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Дело ж не в моде на ПХП, который тогда, кстати, существовал уж Я вот когда в по... большой текст свёрнут, показать
     
     
  • 4.67, анонимус (??), 23:23, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Personal home page = PHP. Мда.

    PHP до 4-й версии во всём проигрывал Perl. Да и 4-я версия во многом была кривая

     
  • 2.25, xsignal (ok), 14:36, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аналогично) Perl 5 отличнейший язык! С помощью него вы всегда решите поставленную задачу, выполните свою работу. Программы выглядят не слишком изящно? Ну и что, это не главное!
     
     
  • 3.90, Аноним (90), 11:59, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Программы выглядят так, что непонятно, валидный ли это код на Перле или битая файловая система.
     
     
  • 4.103, Вова (?), 13:46, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перлу и не надо быть понятным ДИЛЕТАНТАМ, для этого есть "язык черепашки" :)) А профи читают Перл не сложнее лиспа. Вопрос практики (и подсветки).
     
  • 3.115, Аноним (112), 17:46, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ну и что, это не главное!

    Нет, друже, это, как раз, для программиста-человека главное. Ну разве, что для программиста-ИИ не главное.

     
  • 2.51, rvs2016 (ok), 19:21, 10/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Если бы мне нужен был скриптовый язык,
    > я бы выбрал именно перл.
    > Не баш и не питон. Перл.
    > Почему? Потому что я его знаю лет 20 как 🤗

    Аналогично, коллега!
    Я начальные понятие программирования на перле получил в конце 90-х годов (т.е. тоже более 20 лет назад уж) из "Введения в Перл" Владимира Маслова и с тех пор не унываю!

     
     
  • 3.104, Вова (?), 13:47, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Удивительно, но на Перле можно сваять почти все Линуксовые утилиты! (есть даже такой дистр) Это если не хочется канаёпицца с Си и его играми в память.
     

  • 1.37, rvs2016 (ok), 16:42, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > если не будет принято решение перейти к нумерации 7.x

    А чё - эта идея до сих пор витает?
    Я думал, что про неё все давно забыли уж.
    Давно ж не было новостей по теме этой идеи.
    Я думал, что несколько лет эта идея повитала-повитала, да заглохла.

     
  • 1.39, rvs2016 (ok), 16:50, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > вместо не очевидных манипуляций с "eval"

    Ну зато в неочевидный eval можно ж затолкать такие несусветные неочевидности, как:

    1. myy $a = 1 (вместо my $a = 1)

    ну или более интересный вариант
    2. несоответствие скобок:
    if ($a == $b ) { say "и ага!" }}

    А если попытаться затолкать несоответствие скобок в "очевидный" try, то в отличии от варианта "неочевидного" eval наверно не выполнится вся программа:

    try {
      if ($a == $b ) { say "и ага!" }}
    }

    Ошибочная скобка в конце строки if будет означать закрытие блока try, после чего в основной программе появится неожиданная закрывающая скобка }, которую "неочевидный" eval скушал бы молча, а в варианте "очевидного" try не запустится вся программа. Вот и вся очевидность-неочевидность. :-)

     
     
  • 2.88, anonymous (??), 11:50, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >1. myy $a = 1 (вместо my $a = 1)

    '''
      use v5.38;
      eval {
        myy $a = 1;
      }
    '''
      Scalar found where operator expected (Do you need to predeclare "myy"?) at t.pl line 4, near "myy $a"
      syntax error at t.pl line 4, near "myy $a "
      t.pl had compilation errors.

    >2. несоответствие скобок: if ($a == $b ) { say "и ага!" }}

    '''
      use v5.38;
      eval {
        if ($a == $b ) { say "и ага!" }}
      }
    '''
      Unmatched right curly bracket at t.pl line 5, at end of line
      syntax error at t.pl line 5, near "}"
      t.pl had compilation errors.

    Так что ничего eval молча не кушает.

     

  • 1.47, rvs2016 (ok), 18:20, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В настоящее время в модуле предложены функции
    > true, false, weaken, unweaken, is_weak,
    > blessed, refaddr, reftype, ceil, floor,
    > is_tainted, trim и indexed

    А чё эти функции делают?

     
     
  • 2.102, Вова (?), 13:42, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    функционируют
     

  • 1.48, rvs2016 (ok), 18:23, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Логическое выражение "$x ^^ $y" вернёт TRUE,
    > когда либо "x", либо "y" имеют значение TRUE,
    > но не одновременно

    Ну понятно, что это исключающее или.
    Но зачем для этого ещё один оператор, если для этой логической операции оператор xor существует уж?

     
  • 1.58, Гром (?), 20:34, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для всяких скриптов самое то. Удобно. Большие проекты - точно нет. Производительность на уровне Питона, т.е. в сотни раз медленнее С++, к сожалению.
     
     
  • 2.96, Аноним (96), 13:16, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря как писать. Если вы будете на перле писать как на плюсах, классы изображать, типы на коленке лепить - будет очень медленно. Если перл ничего тяжелого не делает, ресурсоемкие вещи в XS, все это может работать вполне быстро. Perlbal в качестве примера.

    >Производительность на уровне Питона

    Примерно в два раза быстрее :) А еще в питоне GIL и GC, то есть он в принципе не годен, а перл можно приспособить. Не надо их даже сравнивать.

     
     
  • 3.119, Ivan7 (ok), 20:57, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как угодно можно писать. Всё равно в сотни раз медленнее. Делал как-то проект. Думал побыстрому сейчас на любимом Перле всё сделаю. Но всё упёрлось в производительность. По факту пришлось всё переделать на С++ с ассемблером. Получилась производительность в 500-1000 раз лучше, чем на Перл. Исследования показали, что абсолютно любая простейшая операция (сложение, вычитание и т.д.) на Перле выполняется ооочень медленно. Так что для каких-то утилит - да (сам иногда для этого использую Перл), но для обработки больших объёмов данных - точно нет, просто без шансов, для этого выбирайте С++ в связке с ассемблером, тогда будет вам производительность.
     
     
  • 4.122, Аноним (96), 23:45, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >С++ в связке с ассемблером

    Спасибо, я лучше возьму голанг какой-нибудь. Из скриптовых на производительность можно брать luajit, но программировать надо аккуратно, без лишнего кода. Производительность в разы может отличаться в зависимости от реализации, при том же самом алгоритме.

    >простейшая операция (сложение, вычитание и т.д.) на Перле выполняется ооочень медленно

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

     
     
  • 5.141, Ivan7 (ok), 13:54, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >я лучше возьму голанг какой-нибудь. Из скриптовых на производительность можно брать luajit, но программировать надо аккуратно...

    Возьми, но производительность будет существенно хуже. Lua будет раз в 10 медленнее Си.
    Если нужна именно производительность, то нужно брать лучшие в этом инструменты, а именно парочка компиляторов С/C++: GCC и Clang.

    Если производительность не нужна, то используй то, что знаешь.

    >>простейшая операция (сложение, вычитание и т.д.) на Перле выполняется ооочень медленно
    >Небось пишешь на перле как на плюсцах, вот и получается в 500 раз медленнее.

    На Перле я пишу, как на Перле. Лучше давай-ка ты проведёшь сравнительные тесты Си и Perl и выложишь здесь результаты. Тогда и поговорим.

     
     
  • 6.165, nagual (ok), 10:12, 16/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Процедура перемножения матриц написанная инженерами Интел на ассемблере с учётом архитектурных особенностей всего в 8 раз быстрее чем на с++ так что никаких lua, нужно брать готовое.  
     

  • 1.65, Аноним (65), 23:16, 10/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    perl - для админских однострочников, или полэкрана. не заменим.
     
     
  • 2.72, Аноним (72), 01:26, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >однострочников

    Привет из 2к24! Как там в 1998?

     
  • 2.76, Аноним (74), 02:34, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сначала тебе нужно будет поставить этот твой Perl в систему, рядом с Python, который уже везде есть.

    Опять же, зачем тебе нужны эти костыли, когда есть божественный Ансибл.

     
     
  • 3.83, Аноним (2), 07:18, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перл скрипты до сих в ходу.
     
     
  • 4.128, Аноним (135), 03:05, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там, где их тридцать лет назад написали, а в инфраструктуре до сих пор торчит что-то перлоспецифичное, типа багзиллы. Во всех остальных случаях связываться с перлом нет никакого смысла. Зачем тащить ещё один язык в инфраструктуру, если можно не тащить.
     
  • 3.95, Аноним (96), 13:11, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >божественный Ансибл

    Настолько уродливый хлам, что cat setup.sh | ssh host bash начинает казаться хорошей вещью.

     
     
  • 4.130, Аноним (135), 03:29, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Самописные скрипты ты ещё полгода отлаживать будешь, чтобы у тебя хотя бы на паре десятков машин всё воспроизводилось. А лет через двадцать, может, и накостыляешь что-то отдалённо похожее на Ансибл. Только зачем этот мартышкин труд?
     
     
  • 5.156, Прохожий (??), 12:47, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это, конечно, сильно преувеличенная оценка. За несколько месяцев вполне можно написать свой аналог Ансибла, не прибегая к дополнительному синтаксису Ансибла (jinja, yaml, json и прочие поделки). Разумеется, он не будет настолько же универсален, но часто это и не требуется.

     
  • 3.125, Прохожий (??), 00:58, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >божественный Ансибл

    Только для очень простых, типовых случаев он божественен. Для чего-то узко-специализированного - скорее, убожество редкое.

     
     
  • 4.129, Аноним (135), 03:17, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для чего-то узкоспециализированного пишется программа.

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

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

     
     
  • 5.155, Прохожий (??), 12:44, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то я хотел сказать, что часто (не всегда) без Ансибла прекрасно можно обойтись, не внося в инфраструктуру лишние сущности.
     
  • 2.86, Вася (??), 11:13, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не заменим, но почему-то много где заменяется удобном случае
     
  • 2.100, Вова (?), 13:38, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не только. Что мешает создать на Перле почтовик? (и сервер, и клиент) Практически всё есть. А имея регэкспы, можно парсить тонны разных данных вообще во все поля.
     
     
  • 3.131, Аноним (135), 03:45, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что ворочаться этот твой почтовик будет как тюлень. Даже когда перл был популярен, это никому не было нужно.

    Регэкспы перловые давным-давно уже везде есть, а на одних только регекспах ты далеко не уедешь. Больше нет необходимости постоянно парсить текстовые файлы, JSON уже почти двадцать лет как придумали.

    Перл, конечно, лучше баша, так как что угодно лучше баша. Но он хуже чего угодно другого.

     
     
  • 4.142, Аноним (142), 13:55, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >JSON уже почти двадцать лет как придумали

    JSON настолько хорош, что придумали JSON-LD

     
     
  • 5.150, Аноним (135), 18:08, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    JSON достаточно хорош, чтобы не хотелось XML. Или парсить плейнтекст регекспами, да.
     
  • 2.123, Прохожий (??), 00:46, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Python справляется гораздо лучше во многих случаях (речь не про однострочники, конечно же).
     

  • 1.68, Аноним (68), 00:07, 11/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Стоит ли учить Перл в 2024?
    Ну что бы стать тру программером
     
     
  • 2.82, Аноним (2), 07:17, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ни в коем случае.
     
  • 2.84, n00by (ok), 08:33, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Учить надо Баш и Питон, что бы писать операционные системы и ИИ. Пёрл учить вообще не надо: тру программеры его знают сразу, а не тру, кто знает хотя бы Си, и так сможет написать что-то простое.
     
     
  • 3.132, Аноним (135), 04:10, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Учить надо Баш и Питон, что бы писать операционные системы и ИИ

    На баше и питоне, серьёзно?

    Я вообще не уверен, что в баш сейчас даже сисадмин должен углубляться. Всё, что чуть сложнее простенького цикла, в итоге оказывается быстрее написать на питоне, который есть везде. Логика скриптов хреново расширяется, скрипты хреново отлаживаются. Даже если нужно сохранить какие-нибудь значения в переменную и использовать их списком, проверить состояние списка, объединить с другим списком, это уже начинает выходить за рамки тривиальной задачи.

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

     
     
  • 4.139, n00by (ok), 08:52, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Учить надо Баш и Питон, что бы писать операционные системы и ИИ
    > На баше и питоне, серьёзно?

    По мнению некоторых местных майнтайнеров (в частности, здешний регистрант Survolog), они занимаются разработкой полностью автономной операционной системы, на языке Баш.

     
     
  • 5.152, Аноним (135), 18:45, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в чём дело, ясно. Ну, тут выше уже предлагали дистрибутив линукса с базовыми утилитами на перле. Каждый развлекается как может.
     
     
  • 6.154, n00by (ok), 12:39, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Perl или Python (или их диалект) вместо Bash в командной строке имели бы смысл, как по мне. На bash пишут не базовые утилиты, а сборочные сценарии пакетов, называя это "разрабатываем ОС".
     
  • 2.87, Вася (??), 11:16, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тебе оттуда разве что PCRE будет надо
     
  • 2.92, Аноним (96), 12:28, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смотря как учить и что ты уже умеешь. На примитивном уровне на перле можно сразу начать писать как на JS или PHP. Из перла при желании можно вылепить любой язык, на котором ты уже программируешь. Обычно люди это принимают за освоение перла или даже за преодоление его "недостатков", но в реальности это потеря времени.

    Перл надо учить не первым языком, уже имея большой стаж программирования и знания, глубокое понимание концепций программирования. Еще на перле надо постоянно программировать, чтобы развиваться. У перла много мелких особенностей и приемчиков, которые забываешь, когда долго не используешь язык.

     
     
  • 3.133, Аноним (135), 04:25, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > У перла много мелких особенностей и приемчиков

    Именно это и делает его ужасным. Заглянув в скрипт, который ты написал полгода назад, ты уже не сможешь вспомнить почему ты здесь сделал так, а не иначе. Что уж говорить про чужие скрипты. Читаемость просто отвратительная.

     
  • 2.99, Вова (?), 13:37, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перл хорош уже тем, что он портабельный и мощный. Я б его точно учил - люди на нём целые сайты ваяют - почему нет? Много высокоуровневых конструкций, поэтому когда пишешь код, СИЛЬНО сокращаешь топтание по клаве.
    ООП в Перле вообще крутизна - даже мощнее, чем в C# (можно даже сказать, что это Смоллток).
     
     
  • 3.134, Аноним (135), 04:35, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > люди на нём целые сайты ваяют

    Люди на нём тридцать лет назад сайты ваяли, потому что у них ничего другого не было. С тех пор для ваяния сайтов много чего другого понаписали. Даже с джангой ты и управишься сильно быстрее, и работать это будет надёжнее, и запускать на вебсервере сможешь без особых танцев. И OOP/MVC у тебя будет из коробки.

     
  • 3.136, Jh (?), 06:04, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Писать-то писали. Но PHP изначально был фреймворком для Perl. Так что насколько он удобен был
     
  • 2.108, Аноним (108), 14:49, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я свой дипломный проект написал на Perl'е. Правда, это было давно. Но в работе c Perl'ом ни разу не сталкивался.
     
  • 2.121, Гром (?), 22:35, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, стоит
     
  • 2.124, Прохожий (??), 00:55, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не стоит. Python для скриптов намного приятнее. А более ни для чего в наши дни Perl не нужен.
     
     
  • 3.144, Ivan7 (ok), 14:07, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо Питон. Это не язык, а недоразумение!
     
     
  • 4.151, Аноним (135), 18:20, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тем не менее, он а) есть везде из коробки; б) удобен для написания скриптов; в) востребован на рынке.

    Лет через дцать, возможно, что-то более удачное подкинут, если к тому времени всю скриптуху ещё не будут писать нейросетки.

     
  • 4.158, Прохожий (??), 19:04, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Типа Perl лучше? ИМХО, ужас ужасный. Write-only.
     
  • 2.162, Аноним (162), 15:00, 15/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Стоит ли учить Перл в 2024?

    Сама рабская постановка вопроса на постсоветском пространстве меня убивает! Программирование ради программирования, а не результата. Вот поэтому и мало открытого кода.

     
     
  • 3.163, Аноним (162), 15:02, 15/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    p.s. лучше выложи на gitflic что ты умеешь делать, чем ставить себя в позу этим вопросом
     
     
  • 4.164, Аноним (162), 15:15, 15/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    p.s.s. всем известно что личное время очень ограничено и адекватный человек поймет что мегапродукта не стоит ожидать. Если есть законченный программный продукт, то он больше расскажет о человеке чем у недосиньйоров без таких продуктов. Даже если там будет ужасный код. Вот на собеседовании и можно обсудить в выделенное время на собеседование о парном программировании касательно улучшения кода, если придираться к навыкам. А для всего остального (так называемого технического собеседования) есть образование. Почему у работодателя нет доверия к ним? Потому что нет обратной связи и из-за коррупции. Почему покупка диплома обесценивает образование? Это уже к юристам, особенно тем кто ближе к управлению. Все эти вопросы из-за сложившихся процессов не нормальны и не здоровы!
     
  • 2.166, nagual (ok), 10:16, 16/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У Perl очень высокий порог входа, это своеобразная зарядка для ума, послушайте неасиляторов, они правду говорят, не связывайтесь ...
     

  • 1.69, Вы забыли заполнить поле Name (?), 00:37, 11/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > * Расширены возможности, связанные с появившемся в прошлой версии экспериментальным синтаксисом для создания классов.
    > * Объявлен стабильным синтаксис обработки исключений try/catch
    > * Стабилизирован синтаксис "for my (VAR, VAR) (LIST)" и "foreach my (VAR, VAR) (LIST)
    > * Объявлен стабильным модуль builtin

    В питоне все это мульон лет как есть.

     
     
  • 2.94, Аноним (96), 13:09, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это в вашем питончике если чего-то нет, то вообще нет, и вы ждете, пока завезут. В перле всё было всегда. Если ты не знаешь, как поймать ошибку из eval, или как массивчик в переменые внутри цикла раскидать - это не проблемы перла.
    Конструкция eval { ... } ; if ($@) { ... } гораздо лучше отражает логику программы и не создает вредных иллюзий. Дело в том, что никаких настоящих исключений в перле как не было, так и нет. И try catch только вводит в заблуждение. Это же тупо сахар вокруг $@. Непонятно, для кого это вообще, чтобы что. Позорище.
     
     
  • 3.110, rvs2016 (ok), 17:02, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Конструкция eval { ... } ; if ($@) { ... } гораздо
    > лучше отражает логику программы и не создает вредных иллюзий. Дело в
    > том, что никаких настоящих исключений в перле как не было, так
    > и нет. И try catch только вводит в заблуждение. Это же
    > тупо сахар вокруг $@. Непонятно, для кого это вообще, чтобы что.
    > Позорище.

    В eval, кстати, сейчас только об этом подумал, есть ещё одно преимущество перед try.

    Программу для eval можно затолкать в строковую переменную, которую потом можно подставить аргументом в eval:

    $operator = '$a = 1';
    eval $operator
    print "$a\n";

    А в try не затолкаешь же строковую переменную с программой, которую надо выполнить. В try надо наталкивать непосредственно только сами операторы.

    Не будет же работать так:
    $operator = '$a = 1';
    try { $operator }
    (ну т.е. ошибки-то вообще-то тут не будет, но смысл будет другой - не присвоение единицы переменной $a, а просто бесполезный безошибочный оператор - вставка переменной в позицию)

    Для try надо писать только явно:
    try { $a = 1 }

    П.С.
    А тут для отправки сообщения код просят ввести почему?
    Вообще не понятно. Тут в сообщении нет вообще ни одного выражения, похожего на урл.

     
     
  • 4.120, Аноним (96), 22:21, 11/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты даже не понимаешь, как устроен эвал в перле.
    >надо наталкивать

    Надо прочитать книжки с ламой, хотя бы.

     
  • 3.126, Прохожий (??), 01:05, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >это не проблемы перла

    Вообще-то, если какие-то конструкции языка не являются очевидными - это, как раз, проблема именно этого языка. Тут уже кто-то написал, что в Перл слишком много всяких неочевидных вещей, которые очень быстро забываются, если на Перл долго не программируешь. Что ж тут хорошего, если тебе постоянно надо держать в голове этот хлам вместо того, чтобы сосредотачиваться на коде? Это был риторический вопрос.

     
     
  • 4.161, Аноним (162), 14:56, 15/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так исправь perl и напиши его сообществу об этих недостатках, ну и посмотрим чья это проблема.
     
  • 3.167, nagual (ok), 10:20, 16/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разработчики выпилили оператор goto ... похоже они свернули не туда ...
     

  • 1.85, Jh (?), 10:06, 11/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Still alive!
     
  • 1.98, Вова (?), 13:33, 11/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Perl - лучший! Был хорош, а стал вообще бомба. Вот те, кто по подростковой дypu ненавидит микрософт, можете смело брать Перл (всяко лучше жабы, жабоскрипта и похапэх) и ваять ЛЮБЫЕ приложения - хоть гуйню, хоть вебы.
     
     
  • 2.127, Прохожий (??), 01:08, 12/06/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Отвратительный язык с вырвиглазным синтаксисом. Write-only, как раньше шутили.
     
  • 2.160, Вы забыли заполнить поле Name (?), 22:07, 13/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Perl - лучший! Был хорош, а стал вообще бомба. Вот те, кто
    > по подростковой дypu ненавидит микрософт, можете смело брать Перл (всяко лучше
    > жабы, жабоскрипта и похапэх) и ваять ЛЮБЫЕ приложения - хоть гуйню,
    > хоть вебы.

    s/Perl/Lisp/

     

  • 1.140, Аноним (140), 10:19, 12/06/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.157, Аноним (157), 14:25, 13/06/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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