Perl — язык программирования общего назначения, который был первоначально создан для манипуляций с текстом, но на данный момент используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, биоинформатику, разработку графических пользовательских интерфейсов.
Язык можно охарактеризовать скорее как практичный (лёгкость в использовании, эффективность, полнота), чем красивый (элегантность, минималистичность). Главными достоинствами языка являются поддержка различных парадигм (процедурный, объектно-ориентированный и функциональный стили программирования), контроль за памятью (без сборщика мусора, основанного на циклах), встроенная поддержка обработки текста, а также большая коллекция модулей сторонних разработчиков.
Согласно Ларри Уоллу, у Perl есть два девиза. Первый — «Есть больше одного способа это сделать» («There’s more than one way to do it»), известный также под аббревиатурой TMTOWTDI. Второй слоган — «Простые вещи должны быть простыми, а сложные вещи должны быть возможными» («Easy things should be easy and hard things should be possible»).
FAQ: Q: А правда, что ваш язык умер? A: Неправда. Язык продолжает развитие, богатый архив модулей CPAN регулярно обновляется и пополняется.
Q: Почему бытует мнение, что код на Perl нечитаем? A: Это миф, который появился благодаря тому, что у языка существует возможность писать так называемые однострочники прямо из командной строки, что в некоторых ситуациях действительно является полезным и быстрым решением, а также задействовать богатые возможности Regex. Практически всегда такая возможность используется для написания мелких скриптов "для себя". Сам по себе синтаксис Perl, испытавший влияние C/C++, прост и понятен.
Q: Где скачать этот ваш Perl? A: Perl уже входит в стандартную поставку GNU/Linux и никаких дополнительных действий совершать не нужно. Для Windows существует https://strawberryperl.com/
Q: Что почитать? A: Классика по порядку: Learning Perl, 8th edition Intermediate Perl, 2nd Edition
>Mastering Perl >Advanced Perl Programming >Mastering Algorithms with Perl Вроде старые книги, но впервые их вижу. Жаль, что не наткнулся на них в своем 2010 году. Раньше советовали только первые две из ОП-поста.
Алсо, там уже пердл 7 собрались релизить, лол. >Perl 7 was announced on 24 June 2020 at "The Perl Conference in the Cloud" as the successor to Perl 5.[128][129] Based on Perl 5.32, Perl 7 is designed to be backwards compatible with modern Perl 5 code; Perl 5 code, without boilerplate (pragma) header needs adding use compat::perl5; to stay compatible, but modern code can drop some of the boilerplate. Шестерка внутриутробно умерла?
>>2197904 Алгоритмы ещё из 90-х вроде, хз как там с актуальностью. Есть интересная рилейтед книга higher order perl. >>2197908 Я так понял, эта шестерка это просто развлечение для дида.
>>2198599 Что там разбираться? Делаем perl -MO=Deparse script.pl Видим три сторчки с заменами и транслитерациями. Последняя регулярка с эвалом. Добавляем принт и выход, смотрим.
>>2198616 Алсо, гуглим python japh и находим примерные аналоги в том же питоне. https://baturin.org/code/japh/ Выглядит не так хардкорно, потому что меньше пунктуации в синтаксисе, но тоже ничего. Подозреваю, что Гвидон умышленно избегал этого, поглядывая на перл. Там вообще много вещей, которые сделаны как будто чтобы не как в перле, лол.
>>2203405 Потому что пхп намного проще перла, и на нём намного легче высрать сайт. Макакам всегда нужно было проще и быстрее, сейчас уже тенденция заменить пыху на ещё более примитивную ноду.
>>2203405 У пхп есть огромная база легаси и готовых движков. Он бы только на этом ещё дохуя времени держался. Но там у них что-то произошло, и они начали грамотно его развивать. Вот все эти 7+ версии вполне себе годны.
>>2203405 Потому что кто-то загорелся идеей сделать идеальный Perl 6, параллельно практически забив на развитие Perl 5. В итоге потеряли время, возможности и коммьюнити, вместо Perl 6 вышел Raku, сразу от перла открестившийся. Как-то так.
>>2209667 Вроде случайно это получилось. Орайли выпутили БАЗОВУЮ книгу с верблюдом на обложке, вот и понеслось, а там начали притягивать смыслы. У питона вон мыши какие-то и похуй. Хотя ему и питонов лепят, а он не про тот питон, лол.
>>2203405 моя версия: индустрия страдает от массы примитивных простачков и развивается путем естественного и тупого отбора. Развиваться осмысленно она не умеет.
php просто массой задавил. Ведь так легко и дешево арендовать хостинг с mod_php и он действительно будет быстрее perl/cgi.
>>2220329 Я ничего против перла не имею в принципе. Кто на нем писал тот продолжает писать. Но даже ПХП продолжает семимильными шагами развиваться по сравнению с перлом. Всякие Roadrunner-ы появляются, а ты про протухший mod_php.
>>2220339 Он говорит про нулевые, когда рулили веб-хостинги с пхп искаропки или дедики для солидных господ. Сейчас-то любой дурак может взять впс за три копейки.
>>2220364 Это кто так делает? Какие-то диды подпивасные, которые так и остались в тех годах. Нормальные научились в ссх-сцп-гит, зумерье об этом даже не знает.
Что-то программач совсем скатился. На нулевой одни быдлокодерские недоязычки обсуждают да переливают из пустого в порожнее за вкат и продажу своей жопы на офисный стул подороже.
Но речь не об этом. Пришёл с вами поделиться тем, какой же охуенный raku. Писал намедни на нём скрипт - 10 из 10, господи, 10 из 10. В этом вашем 2022м я уж и забыл было, что бывают удобные и, главное, универсальные языки. Это не просто ёршик вместо вилки, им ещё и зубы почистить можно, и жопу почесать, и в руке сидит как влитой. Охуенно зделоли.
Чтобы не быть голословным, расскажу. Дописал я, значит, основную логику скрипта, сижу довольный собою и продуманностью открытого для себя инструмента. Но сквозь удовлетворение аки пердёж сквозь ладан прокрадывается неприятная мыслишка: "а теперь доставай вилку, разбором аргументов командной строки займёмся". Нехотя открываю поисковик и ВНЕЗАПНО нахожу это https://docs.raku.org/language/create-cli#sub_MAIN Ебать. И почему в других языках кроме лиспа до этого никто не додумался? Просто перечисляешь аргументы MAIN -- и всё, готово. Ещё и справку само сгенерирует. И каждая мелочь, каждый нюанс -- всё сделано так, чтобы минимизировать зуд у программиста от невыразительности языка. Бывает, напишешь выражение и думаешь: "Не, ну так, наверное, не будет работать, придётся переписывать через цикл". А оно работает, да ещё и именно так, как ожидаешь. Например, >> - оператор типа map и zip в одном флаконе. И внезапно такой код работает: my @xs = 1, 2, 3; @xs>>++; # вернёт 1, 2, 3, @xs станет 2, 3, 4 @xs >>+=<< [1, 2, 3]; # => 3, 5, 7
>>2360021 >И как и все охуенное - мертвый. https://rakudo.org/post/announce-rakudo-release-2022.04 Схуяли он мёртвый? И язык, и реализация развиваются. Просто за информационным шумом от всяких коммерческих параш с продвиженцами на зарплате этого не заметно.
>>2360021 >Заодно и перловку угробили Ну и да, в каком смысле "угробили"? Перл как был, так и есть. Но он без нарушения обратной совместимости ему дальше некуда развиваться и сегодня в сравнении с другими скриптовыми языками он уже далеко не жемчужина. Я считаю, Ларри напрасно пошёл на поводу у утят и переименовал язык и напрасно торжественно выкатил сырую версию. Теперь и перл продолжает медленно идти ко дну, и про раку никто не знает. >>2360073 Мда. Вот такой он -- /pr/ образца 2022: анон ушёл, пришли мещане. Спасибо, Абу, блять.
>>2362583 Протухшая монолитная херня это а не современные стандарты. В современном вебе все сервисы общаются по сети. В интернет торчит только то что реверспроксится нжинксом, а остальное спрятано под капотом внутренней сетки докеров куберов.
>>2364587 Ну а чо, много работаю с текстом, не вижу альтернативных языков которые на этом поприще могли бы заменить Перл. Питухон кста, на пару лет моложе.