<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все статьи подряд / Perl / Хабр]]></title>
    <link>https://habr.com/ru/hubs/perl/articles/</link>
    <description><![CDATA[Perl – высокоуровневый интерпретируемый динамический язык]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Fri, 30 Oct 2026 19:35:31 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Make Perl Great Again. Часть 1: Hello World]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1094438/</guid>
      <link>https://habr.com/ru/articles/1094438/?utm_campaign=1094438&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Все знают, что любая книга по программированию начинается с приведения примера программы hello world. Я тоже не буду оригинальничать и покажу, как надо писать hello world. Но в отличие от других авторов, которые очень быстро переходят от этой программы к каким-то очень высоким материям, философским обоснованиям, паттернам программирования и шаблонам проектирования (чтобы это всё ни значило), я ограничусь только hello world. Кто-то же должен заполнить пробел между hello world и… веб-сервером :-).</p> <a href="https://habr.com/ru/articles/1094438/?utm_campaign=1094438&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 14 Oct 2026 15:28:06 GMT</pubDate>
      <dc:creator><![CDATA[thenn]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[программирование]]></category><category><![CDATA[веб-сервер]]></category><category><![CDATA[rust]]></category><category><![CDATA[linux]]></category><category><![CDATA[веб-приложения]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Make Perl Great Again! Поиски простоты в программировании]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1091580/</guid>
      <link>https://habr.com/ru/articles/1091580/?utm_campaign=1091580&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Программирование само по&nbsp;себе очень сложная штука, и поэтому программировать надо как&nbsp;можно проще. Именно поиску простых способов программирования и посвящена эта статья.</p><p>Давайте я возьму какую‑то простую практическую задачу и решу ее, но&nbsp;не&nbsp;просто так, а&nbsp;как&nbsp;можно проще. Итак...</p> <a href="https://habr.com/ru/articles/1091580/?utm_campaign=1091580&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 07 Oct 2026 12:03:43 GMT</pubDate>
      <dc:creator><![CDATA[thenn]]></dc:creator>
      
      <category><![CDATA[программирование]]></category><category><![CDATA[основы]]></category><category><![CDATA[perl]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Делаем RAG‑систему с нуля]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1090066/</guid>
      <link>https://habr.com/ru/articles/1090066/?utm_campaign=1090066&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>У меня с давних времен сохранилась куча всяких заметок, в основном в виде простых текстовых файлов.<br>Самых разных: от скриптов и конфигов до всяких рецептов, всё что когда-то пригодилось или могло пригодиться. </p><p>Хранение в виде файлов - это на самом деле очень удобно: их практически всегда можно прочитать, их легко создавать и редактировать, они не требуют установки каких-то специальных особых редакторов и информационных систем, при этом их легко копировать, добавлять в архивы и т.д. <br>И даже полнотекстовый поиск по ним организуется элементарно.  </p><p>Единственный минус, когда их много - для того чтобы что-то найти нужно пройтись по каталогам где они лежат и увидеть глазами. <br>Особенно - если их никто не пытался строго структурировать, и они лежат где-то так:<br>"Документы/старое/1/1/разобрать/старый диск/Документы/Работа/...". <br>Ну, это конечно запущенный случай, и надо бы разобрать, когда-нибудь, может быть - ну, собственно говоря, там так и написано...  </p><p>Что если попробовать прикрутить к этому поиск?  </p> <a href="https://habr.com/ru/articles/1090066/?utm_campaign=1090066&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 04 Oct 2026 01:44:58 GMT</pubDate>
      <dc:creator><![CDATA[JBFW]]></dc:creator>
      
      <category><![CDATA[rag]]></category><category><![CDATA[поиск]]></category><category><![CDATA[ollama]]></category><category><![CDATA[perl]]></category><category><![CDATA[эксперименты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я дважды неправильно объяснил один баг в ora2pg]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1086100/</guid>
      <link>https://habr.com/ru/articles/1086100/?utm_campaign=1086100&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3ee/056/dbe/3ee056dbec2f5abee3e45432babc5498.png" /><p>У меня было объяснение, почему ora2pg теряет внешние ключи при переносе схемы в PostgreSQL. Я его опроверг, придумал новое и опроверг ещё раз. Настоящая причина оказалась в одной проверке exists() в Perl-коде, а чинится всё одной строкой в конфиге.</p> <a href="https://habr.com/ru/articles/1086100/?utm_campaign=1086100&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Где прятался баг</a>]]></description>
      
      <pubDate>Thu, 24 Sep 2026 10:13:53 GMT</pubDate>
      <dc:creator><![CDATA[Lunch418]]></dc:creator>
      
      <category><![CDATA[ora2pg]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[миграция баз данных]]></category><category><![CDATA[mysql]]></category><category><![CDATA[mssql]]></category><category><![CDATA[внешние ключи]]></category><category><![CDATA[perl]]></category><category><![CDATA[PG_VERSION]]></category><category><![CDATA[autovivification]]></category><category><![CDATA[отладка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Рекурсия в RegEx с условиями выхода]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1064614/</guid>
      <link>https://habr.com/ru/articles/1064614/?utm_campaign=1064614&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7d0/3ee/1d7/7d03ee1d7c8824f5d2f77c57454d8fef.png" /><p>Для создания подсветки синтаксиса мне требовалось регулярное выражение, которое может подсветить разные фрагменты пути. При этом оно должно следовать условию "только путь в кавычках" и обходить мимо переменные, продолжная парсинг пути.</p><p>В этой статье мы разберем, каким образом написать такое выражение, как работает рекурсия в RegEx, как добавить условие выхода из нее. Посмотрим, как пропускать целые фрагменты текста.</p> <a href="https://habr.com/ru/articles/1064614/?utm_campaign=1064614&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Jul 2026 16:26:17 GMT</pubDate>
      <dc:creator><![CDATA[Rafaell0]]></dc:creator>
      
      <category><![CDATA[regex]]></category><category><![CDATA[регулярки]]></category><category><![CDATA[регулярные выражения]]></category><category><![CDATA[регулярное выражение]]></category><category><![CDATA[парсинг]]></category><category><![CDATA[обработка текста]]></category><category><![CDATA[рекурсия]]></category><category><![CDATA[цикл]]></category><category><![CDATA[подсветка синтаксиса]]></category><category><![CDATA[Notepad++]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Perl — зря забытый язык программирования?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025824/</guid>
      <link>https://habr.com/ru/articles/1025824/?utm_campaign=1025824&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/206/fdb/249/206fdb24931c19cc3c9ced0600ed57ea.jpg" /><p>В&nbsp;настоящее время Perl обделяется вниманием: о&nbsp;нём мало что&nbsp;и где можно услышать и увидеть. При&nbsp;этом Perl действительно уникальный язык программирования, который может предложить что‑то новое, и особенности которого сильно выделяют его среди других. И сегодня я вам о&nbsp;нём поведаю, а&nbsp;также расскажу о&nbsp;его фичах с&nbsp;примерами его применения.</p> <a href="https://habr.com/ru/articles/1025824/?utm_campaign=1025824&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 20:16:00 GMT</pubDate>
      <dc:creator><![CDATA[infgotoinf]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[обучение]]></category><category><![CDATA[regex]]></category><category><![CDATA[regexp]]></category><category><![CDATA[язык программирования]]></category><category><![CDATA[обзор языка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Создаём гейт между конференцией xmpp и irc]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1011460/</guid>
      <link>https://habr.com/ru/articles/1011460/?utm_campaign=1011460&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h4>Определимся с задачей</h4><br>
Есть комната в irc, есть комната в xmpp. соответственно нужно, чтобы всё, что пишут в xmpp оказалось в irc, и наоборот.<br>
xmpp и irc в данном случае имеют кодировку utf-8, поэтому перекодировать ничего не нужно будет. <br>
<br>
<h4>Начнём</h4><br>
Для всего этого будем использовать Anyevent.<br> <a href="https://habr.com/ru/articles/1011460/?utm_campaign=1011460&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 17 Mar 2026 16:04:24 GMT</pubDate>
      <dc:creator><![CDATA[skovpen]]></dc:creator>
      
      <category><![CDATA[ircbot]]></category><category><![CDATA[jabber bot]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как Perl держит 30% продакшна Рунити и почему нас это устраивает]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/runity/articles/1008922/</guid>
      <link>https://habr.com/ru/companies/runity/articles/1008922/?utm_campaign=1008922&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/96b/940/c81/96b940c81579353ed490e105bc6304ff.png" /><p>Привет, Хабр! На связи<em> </em>команда идентификации и авторизации Рунити. Мы отвечаем за сервисы, через которые проходит каждый пользователь: регистрация, авторизация, верификация личных данных и жизненный цикл договора пользователя.</p><p>Perl принято хоронить примерно с 2010 года. В феврале 2026-го TIOBE <a href="https://www.tiobe.com/tiobe-index/">вернул </a>его в топ-10 — и это немного <a href="https://habr.com/ru/news/994396/">всколыхнуло</a> профессиональное сообщество. В группе компаний Рунити на Perl работает 25–30% продакшн-сервисов: биллинг, авторизация, очереди, ядро платформы. Расскажем, почему так вышло, что происходит, когда мы пытаемся это переписать, и почему нам за это не стыдно.</p> <a href="https://habr.com/ru/articles/1008922/?utm_campaign=1008922&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 11 Mar 2026 09:12:03 GMT</pubDate>
      <dc:creator><![CDATA[runity (Рунити)]]></dc:creator>
      
      <category><![CDATA[рунити]]></category><category><![CDATA[perl]]></category><category><![CDATA[программирование]]></category><category><![CDATA[pyton]]></category><category><![CDATA[разработка]]></category><category><![CDATA[разработка сайтов]]></category><category><![CDATA[разработка по]]></category><category><![CDATA[карьера ит-специалиста]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Кастомизация Angie (njs, Lua, Perl)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/984408/</guid>
      <link>https://habr.com/ru/articles/984408/?utm_campaign=984408&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bab/be3/d86/babbe3d86bc891314778d76c34ad954c.png" /><p>Север Angie вобрал в&nbsp;себя всю функциональность, которая десятилетиями формировалась в&nbsp;Nginx. Кроме того, разработчики за&nbsp;несколько лет добавили еще несколько модулей и расширили возможности существующих. Тем не&nbsp;менее, при&nbsp;реализации сложных задач может потребоваться индивидуальное решение, нестандартное поведение сервера и кастомизированная конфигурация. В&nbsp;таких задачах полезно использовать модули для&nbsp;расширения функциональности сервера на&nbsp;базе различных языков программирования: доступны njs, Lua и Perl.</p> <a href="https://habr.com/ru/articles/984408/?utm_campaign=984408&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 12 Jan 2026 11:53:39 GMT</pubDate>
      <dc:creator><![CDATA[Nickmob]]></dc:creator>
      
      <category><![CDATA[angie]]></category><category><![CDATA[nginx]]></category><category><![CDATA[lua]]></category><category><![CDATA[perl]]></category><category><![CDATA[njs]]></category><category><![CDATA[кастомизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Релиз за две минуты и краш-тест процессов: как мы разработали Мультидоступ в личном кабинете доменного регистратора]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/runity/articles/973278/</guid>
      <link>https://habr.com/ru/companies/runity/articles/973278/?utm_campaign=973278&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e7a/28d/c84/e7a28dc84110906e6ac62643afd71b3e.png" /><p>Привет, Хабр! На связи команда архитекторов, разработчиков и тестировщиков Рунити, которые внедряли функцию «Мультидоступ» в личный кабинет Руцентра. В этой статье рассказываем, как добавляли ролевые проверки, перестраивали контур авторизации и дорабатывали существующую инфраструктуру личного кабинета доменного регистратора. Проект получился объемным, график — насыщенным, но обо всем по порядку :)&nbsp;</p><p>Надеемся, что эта статья пригодится командам, которые развивают большие продукты и внедряют в них новые контуры авторизации.</p> <a href="https://habr.com/ru/articles/973278/?utm_campaign=973278&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 04 Dec 2025 12:27:15 GMT</pubDate>
      <dc:creator><![CDATA[runity (Рунити)]]></dc:creator>
      
      <category><![CDATA[домены]]></category><category><![CDATA[личный кабинет]]></category><category><![CDATA[доступ к данным]]></category><category><![CDATA[доступ]]></category><category><![CDATA[рунити]]></category><category><![CDATA[руцентр]]></category><category><![CDATA[пароли]]></category><category><![CDATA[безопасность]]></category><category><![CDATA[роли]]></category><category><![CDATA[авторизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сбор и отправка APM-трейсов из разных сервисов: как мы приручили трейсинг в монолитах]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/965144/</guid>
      <link>https://habr.com/ru/articles/965144/?utm_campaign=965144&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2e0/fa7/853/2e0fa785351ab18005ea795bdc0f6268.png" /><p>Всем привет! Меня зовут Яна Курышева, и я тимлид одной из команд разработки бэкенда в Спортсе’’.</p><p>Мы – спортивное медиа. Наш продукт – это сайт и приложения со спортивной статистикой, новостями, редакционным и пользовательским контентом, пушами, рекомендациями и комментариями. </p><p>Чтобы вся система оставалась управляемой, мы активно используем трейсинг с помощью <strong>Elastic APM</strong>. Но существующие библиотеки не учитывали специфику нашей архитектуры и не решали всех задач.</p><p>В этой статье я поделюсь, как мы справились с задачей сбора трейсинга из старых монолитов и реализовали <strong>собственный APM-прокси</strong>.</p> <a href="https://habr.com/ru/articles/965144/?utm_campaign=965144&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 11 Nov 2025 07:15:50 GMT</pubDate>
      <dc:creator><![CDATA[ukurysheva]]></dc:creator>
      
      <category><![CDATA[трейсинг]]></category><category><![CDATA[elastic]]></category><category><![CDATA[монолит]]></category><category><![CDATA[apm-мониторинг]]></category><category><![CDATA[golang]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[метрики]]></category><category><![CDATA[мониторинг]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[День программиста: от CGI до Zope]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/946614/</guid>
      <link>https://habr.com/ru/articles/946614/?utm_campaign=946614&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4bd/98d/f47/4bd98df47dba43e86daa6c96b6cbf509.png" /><p>📅 Сегодня — День программиста. И это отличный повод вспомнить, что даже то, что кажется нам «естественным» и само собой разумеющимся, когда-то было революцией.</p><p>Мы привыкли к тому, что любой фреймворк — это набор правил и инструментов, который помогает нам работать быстрее, чище, правильнее. Но назвать «первый в мире фреймворк» — так же сложно, как назвать первого музыканта, сыгравшего рок-н-ролл. Понятие рождалось постепенно, размытое и спорное.</p> <a href="https://habr.com/ru/articles/946614/?utm_campaign=946614&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 13 Sep 2025 13:47:19 GMT</pubDate>
      <dc:creator><![CDATA[lodhel]]></dc:creator>
      
      <category><![CDATA[framework]]></category><category><![CDATA[фреймфорк]]></category><category><![CDATA[день программиста]]></category><category><![CDATA[история]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Видишь суслика? А он есть! Как главная страница Яндекса переезжала на Go]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yandex/articles/871868/</guid>
      <link>https://habr.com/ru/companies/yandex/articles/871868/?utm_campaign=871868&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/219/a54/8f7/219a548f72e2f9a46d5aeb268f68ce7c.png" /><p>Переезд большого сервиса с Perl на Golang едва ли кому-то покажется простой задачей. А теперь представьте, что это главная страница Яндекса, на которую ежедневно заходят миллионы пользователей. И что продукт постоянно дорабатывается, а значит, нельзя взять и остановить разработку на пару лет переезда. Представили? Сложно? А вот, оказывается, всё возможно.&nbsp;</p><p>Привет, Хабр! Меня зовут Вячеслав Круглов. Я руковожу одной из команд разработки бэкенда главной страницы Яндекса. Расскажу, как мы переписывали бэкенд с Perl на Go, поделюсь интересными подробностями переезда, а также сравню компоненты и продуктовые блоки. </p> <a href="https://habr.com/ru/articles/871868/?utm_campaign=871868&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 12 Feb 2025 09:11:55 GMT</pubDate>
      <dc:creator><![CDATA[yaches (Яндекс, Конференции Олега Бунина (Онтико))]]></dc:creator>
      
      <category><![CDATA[go]]></category><category><![CDATA[perl]]></category><category><![CDATA[переезд]]></category><category><![CDATA[разработка]]></category><category><![CDATA[программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Цикл в RegEx для поиска подстрок с условием]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/873832/</guid>
      <link>https://habr.com/ru/articles/873832/?utm_campaign=873832&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f1b/55d/0de/f1b55d0de02f4dd5dca414c05903b9f8.gif" /><p>Я хочу поделиться своим изобретением, которое позволяет вам использовать только одно регулярное выражение, которое будет искать подстроку в строке с определенным условием. Если хотите, называйте это циклом в RegEx, которого раньше не существовало!</p><p>Я поделюсь с вами не только разными полезными шаблонами, но и покажу различные примеры от простых до сложных.</p><p></p> <a href="https://habr.com/ru/articles/873832/?utm_campaign=873832&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Посмотреть идеи и шаблоны</a>]]></description>
      
      <pubDate>Wed, 15 Jan 2025 11:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Rafaell0]]></dc:creator>
      
      <category><![CDATA[RegEx]]></category><category><![CDATA[regexp]]></category><category><![CDATA[substring]]></category><category><![CDATA[подстроки]]></category><category><![CDATA[циклы]]></category><category><![CDATA[loop]]></category><category><![CDATA[условие]]></category><category><![CDATA[condition]]></category><category><![CDATA[изобретение]]></category><category><![CDATA[изобретение велосипеда]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Простой вебсервис, на Perl, но не CGI]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/873688/</guid>
      <link>https://habr.com/ru/articles/873688/?utm_campaign=873688&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5e8/f7f/d39/5e8f7fd39c0e079e626bf9bf5329e483.png" /><p>Просто хочу показать, как с помощью Perl можно сделать простой веб-сервис, на примере мониторинга свободного места на диске и свободной памяти.</p><p>Почему именно на Perl - потому что на примере минимального дистрибутива Debian, где Perl уже установлен по умолчанию, и для создания вебсервиса потребуются минимальные усилия.<br>Ну и заодно - как делаются библиотеки функций и автотесты.</p><p></p> <a href="https://habr.com/ru/articles/873688/?utm_campaign=873688&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jan 2025 00:07:16 GMT</pubDate>
      <dc:creator><![CDATA[JBFW]]></dc:creator>
      
      <category><![CDATA[linux]]></category><category><![CDATA[perl]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Механика окружающей среды в фентезийном мире]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/833540/</guid>
      <link>https://habr.com/ru/articles/833540/?utm_campaign=833540&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cf1/182/54e/cf118254ece7bbef3fa32468e17a6a83.jpg" /><p>Я прочитал <a href="https://habr.com/ru/articles/829342/" rel="noopener noreferrer nofollow">замечательную статью</a> за авторством <a class="mention" href="/users/rplacroix">@rplacroix</a>и загорелся идеей воплотить механики окружающей среды, подобные линейке игр Divinity: разлитую нефть можно поджечь, огонь можно потушить водой, а яд неожиданно взрывается от огня. Здесь я буду больше обращать внимание на реализацию в коде, чем на достоверную копию механик из игр Divinity. Я покажу некоторые кусочки кода с пояснениями, а в конце будет небольшая демонстрация прототипа игры с этой системой.</p><p>Сегодня я программирую на Raku. <a href="https://raku.org/" rel="noopener noreferrer nofollow">Raku</a> — это молодой язык с длинной историей, сестринский язык к языку Perl. Я хочу продемонстрировать самые сильные стороны этого языка в контексте прототипирования игры и частично сравнить их с оригинальной статьей, языком имплементации которой был выбран Python. В течение статьи я буду оставлять раскрывающиеся блоки с объяснением тех или иных особенностей языка Raku, если вам интересно.</p><p></p> <a href="https://habr.com/ru/articles/833540/?utm_campaign=833540&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 03 Aug 2024 09:15:33 GMT</pubDate>
      <dc:creator><![CDATA[greenfork]]></dc:creator>
      
      <category><![CDATA[raku]]></category><category><![CDATA[divinity]]></category><category><![CDATA[gamedesign]]></category><category><![CDATA[showcase]]></category><category><![CDATA[demo]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Perl 5.40.0: что нового спустя 11 месяцев? Изменения и дополнения в релизе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/821919/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/821919/?utm_campaign=821919&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6a6/666/e60/6a6666e602545ac7ed3485dd716365a6.jpg" /><p>Не прошло и года, как разработчики<a href="https://www.nntp.perl.org/group/perl.perl5.porters/2024/06/msg268252.html"> дождались новой</a> стабильной ветки языка программирования Perl — 5.40. При подготовке этого выпуска изменениям подверглись свыше 160 тыс. строк кода и 1&nbsp;500 файлов. Всего в работе над релизом приняли участие 75 специалистов. Ну а подробности, как всегда, под катом.</p> <a href="https://habr.com/ru/articles/821919/?utm_campaign=821919&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 14 Jun 2024 15:25:28 GMT</pubDate>
      <dc:creator><![CDATA[t3chnowolf (МТС)]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[программирование]]></category><category><![CDATA[языки программирования]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Искусство README]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/810537/</guid>
      <link>https://habr.com/ru/articles/810537/?utm_campaign=810537&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Привет, Хабр!</p><p>На связи Андрей из сообщества <a href="https://t.me/itmo_opensource" rel="noopener noreferrer nofollow"><u>ITMO.OpenSource</u></a>. Мы считаем, что важно делать открытую науку, поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом.</p><p>Мы убеждены, что открытая наука – это не просто код на github, но и совокупность факторов, которые позволяют этим кодом эффективно воспользоваться: запустить, модифицировать, внедрить в другие проекты. Поэтому я решил перевести популярную статью JS-разработчицы Киры Окли «Art of README». Несмотря на разницу в экосистемах (я пишу преимущественно на Python), мне кажется, многие идеи этой статьи актуальны для любого проекта на любом языке.</p><p></p> <a href="https://habr.com/ru/articles/810537/?utm_campaign=810537&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 26 Apr 2024 10:55:22 GMT</pubDate>
      <dc:creator><![CDATA[itmo_nsslab]]></dc:creator>
      
      <category>open source</category><category>readme</category><category>node.js</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Пролог в Perl]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/774980/</guid>
      <link>https://habr.com/ru/articles/774980/?utm_campaign=774980&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d27/0c9/18d/d270c918d8a204c4122312be58379bf2.png" /><p>Прогресс неумолимо стремится вперёд, заставляя программистов использовать git, docker и chat-GPT. В то же время древние технологии 60-х, 70-х, 80-х, 90-х и 2000-х предаются забвению...</p><p></p> <a href="https://habr.com/ru/articles/774980/?utm_campaign=774980&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Nov 2023 10:57:30 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[prolog]]></category><category><![CDATA[sugar]]></category><category><![CDATA[счет]]></category><category><![CDATA[логика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Отладка приложений на Perl в Docker-контейнере]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/vk/articles/746558/</guid>
      <link>https://habr.com/ru/companies/vk/articles/746558/?utm_campaign=746558&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0fc/304/242/0fc304242f82c973de8aea7f521ef02c.png" /><p>Я Марсель Ардуанов, руководитель команды разработки VK и по совместительству Go-разработчик. После перехода в другое бизнес-подразделение я столкнулся с сервисами на языке Perl. Если вы посмотрите <a href="https://habr.com/ru/articles/730954/"><u>рейтинг языков программирования в 2023 году на Хабре</u></a>, то увидите, что он не входит в этот список.</p><p>В компаниях до сих пор существуют сервисы на Perl, логику работы которых нужно понять и перенести на другой язык. Обычно в этом очень помогает отладчик. Но походив по интернету, я понял, что лёгкого решения для запуска отладчика нет, нужно разбираться. В этой статье я расскажу, как работать с зависимостями и отлаживать Perl-приложения с использованием современных технологий.</p> <a href="https://habr.com/ru/articles/746558/?utm_campaign=746558&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 10 Jul 2023 12:17:41 GMT</pubDate>
      <dc:creator><![CDATA[m_arduanov (VK)]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[debug]]></category><category><![CDATA[intellij idea]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Инструменты сисадмина: Perl и Golang]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/744380/</guid>
      <link>https://habr.com/ru/articles/744380/?utm_campaign=744380&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/95b/a6c/8ec/95ba6c8ecd1db41f3af6ce9e0bd54834.jpg" /><p>В статье отражен опыт применения языков Perl и Golang в повседневной работе бородатого сисадмина в качестве скриптового языка и показаны примеры использования.</p><p></p> <a href="https://habr.com/ru/articles/744380/?utm_campaign=744380&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 29 Jun 2023 11:20:57 GMT</pubDate>
      <dc:creator><![CDATA[krpsh]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[golang]]></category><category><![CDATA[примеры кода]]></category><category><![CDATA[сравнение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Обзор сканера Nikto для поиска уязвимостей в веб-серверах]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/first/articles/731696/</guid>
      <link>https://habr.com/ru/companies/first/articles/731696/?utm_campaign=731696&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/89d/94c/513/89d94c51319a2f961967ddbdf30603cd.jpg" /><p>Перед проведением атаки на целевой веб-сайт злоумышленнику необходимо собрать о нем как можно больше информации, а также найти уязвимости. Однако есть способ, который позволит раньше других найти уязвимости и тем самым повысить безопасность веб-сайта. Для этих целей используют специальные типы программ — сканеры уязвимостей. </p><p>Одним из самых известных и в то же время бесплатных является сканер <strong>Nikto</strong>.</p><p>В статье мы расскажем о базовых функциях сканера и о том, как его можно использовать&nbsp; в «боевой» среде. Продукт интересен тем, что позиционируется как сканер для поиска уязвимостей на веб-серверах, в то время как большинство аналогов (такие как OWASP ZAP, wapiti, Arachni и другие) предназначены именно для поиска уязвимостей в веб-приложениях.</p> <a href="https://habr.com/ru/articles/731696/?utm_campaign=731696&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 27 Apr 2023 08:00:01 GMT</pubDate>
      <dc:creator><![CDATA[1shaman (FirstVDS)]]></dc:creator>
      
      <category><![CDATA[nikto]]></category><category><![CDATA[сканер]]></category><category><![CDATA[уязвимости]]></category><category><![CDATA[perl]]></category><category><![CDATA[windows]]></category><category><![CDATA[linux]]></category><category><![CDATA[macos]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Разворачиваем сеть на RHEL8-based хостах]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/700460/</guid>
      <link>https://habr.com/ru/articles/700460/?utm_campaign=700460&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dc5/639/7e4/dc56397e43e08a9a5ef4fbfae6ebcf73.jpg" /><p>Развертывание ИТ-инфраструктуры с нуля — задача интересная и трудозатратная. Особенно, когда речь не о постепенном развитии (как это часто случается при поступательно-линейном росте бизнеса и, соответственно, его потребностей), а о куда более сжатых сроках, например, при открытии филиала или обособленного подразделения (другой вариант — необходимость в короткие сроки развернуть инфраструктуру для тестирования), где важную роль играет организация сети.</p><p>Конечно, первоначальная установка и настройка — это всегда полевая работа: монтаж СКС, сетевого оборудования и серверов; конфигурирование DHCP и организация удалённого доступа; иногда — заведение VLAN-ов.</p><p></p> <a href="https://habr.com/ru/articles/700460/?utm_campaign=700460&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 20 Nov 2022 18:32:14 GMT</pubDate>
      <dc:creator><![CDATA[Vladimir_Chursin]]></dc:creator>
      
      <category><![CDATA[rhel]]></category><category><![CDATA[rhel8]]></category><category><![CDATA[ansible]]></category><category><![CDATA[bash]]></category><category><![CDATA[perl5]]></category><category><![CDATA[perl]]></category><category><![CDATA[network]]></category><category><![CDATA[linux]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пейджинг страниц в соцсетях]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/674714/</guid>
      <link>https://habr.com/ru/articles/674714/?utm_campaign=674714&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/949/1b1/83a/9491b183a1c96b4bb3d689eba267bcc8.png" /><p>Для пагинации страниц используют смещение (OFFSET) и курсорную пагинацию (по ID), как более быструю. Тем не менее есть ещё один малоизвестный вид пагинации по меткам страниц (MARKS). Она является разновидностью курсорной пагинации, но использует не идентификатор, а ряд полей перечисленных в ORDER BY SQL-запроса.</p> <a href="https://habr.com/ru/articles/674714/?utm_campaign=674714&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 03 Jul 2022 13:18:14 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[mysql]]></category><category><![CDATA[perl]]></category><category><![CDATA[sql]]></category><category><![CDATA[mssql]]></category><category><![CDATA[postgres]]></category><category><![CDATA[paging]]></category><category><![CDATA[paging library]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[perltidy и cp1251]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/664308/</guid>
      <link>https://habr.com/ru/articles/664308/?utm_campaign=664308&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/04e/073/2c1/04e0732c11e113258f63b909c9fad534.png" /><p>В 2000-х определилась тенденция переводить проекты в национальных кодировках в <strong>utf-8</strong>. Однако не везде их перевели одним махом, а решили рубить собаке хвост постепенно. В результате во многих проектах часть файлов c кодом в <strong>utf-8</strong>, а часть осталась в национальной кодировке (например, <strong>cp1251</strong>).</p><p>Поэтому я сделал утилиту <strong>ru-perltidy</strong>, которая определяет кодировку файлов, конвертирует в <strong>utf-8</strong>, а после форматирования переводит обратно.</p><p>Из вкусносей тут то, что <strong>ru-perltidy</strong> может отформатировать только изменённые в репозитории <strong>git</strong> файлы (Рис.1).</p> <a href="https://habr.com/ru/articles/664308/?utm_campaign=664308&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 04 May 2022 14:49:42 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[encode]]></category><category><![CDATA[detect]]></category><category><![CDATA[utf8]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[use bigint в perl]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/662213/</guid>
      <link>https://habr.com/ru/articles/662213/?utm_campaign=662213&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/264/3b3/26e/2643b326eaacab1ca98f86740bcdc961.png" /><p>В зависимости от версии мантисса целых чисел в <strong>perl</strong> 40-бит (5 байт) или 64-бит (8 байт).</p><p>Проверить сколько бит отводится на число в текущем <strong>perl</strong> довольно просто:</p> <a href="https://habr.com/ru/articles/662213/?utm_campaign=662213&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 21 Apr 2022 09:26:06 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[radix]]></category><category><![CDATA[bignumber]]></category><category><![CDATA[int64]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Обработка текста с помощью textutils с примерами]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/593197/</guid>
      <link>https://habr.com/ru/articles/593197/?utm_campaign=593197&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/366/2e8/68c/3662e868c180226a67a5b5551b7387ae.png" /><p>Набор утилит для потоковой обработки текста появился уже в первых версиях Unix и доступен практически везде. Это такие команды как cat/tac, head/tail, cut, grep, sed, sort, uniq, wc, nl, fmt. Каждая из этих утилит выполняет свою простую обработку текста, но комбинируя их в конвейере, т.е. передавая стандартный вывод одной команды на вход следующей, можно обрабатывать тексты произвольного размера или быстро решить некоторые задачи.</p> <a href="https://habr.com/ru/articles/593197/?utm_campaign=593197&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Для этого нужно усвоить несколько приемов</a>]]></description>
      
      <pubDate>Fri, 03 Dec 2021 11:29:02 GMT</pubDate>
      <dc:creator><![CDATA[ophil]]></dc:creator>
      
      <category><![CDATA[sed]]></category><category><![CDATA[perl]]></category><category><![CDATA[regex]]></category><category><![CDATA[sort]]></category><category><![CDATA[grep]]></category><category><![CDATA[textutils]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сохранение пакетов Perl через local]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/585038/</guid>
      <link>https://habr.com/ru/articles/585038/?utm_campaign=585038&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/048/90a/b84/04890ab84234d91eaac762a8756f6a95.png" /><p>В <strong>perl</strong> есть выражение <strong>local</strong>. Оно подменяет указанное значение <strong>undef</strong>-ом до конца блока. В качестве значения могут выступать глобальные хеши, массивы и скаляры, а так же элементы или срезы хешей и скаляров.</p><p>Проблема в том, что хеши пакетов <strong>local</strong> не сохраняет.</p><p>Под хешами пакетов я понимаю хеш с двоеточием на конце (<code>%Пакет::)</code> в котором хранятся символы пакета (GLOB).</p> <a href="https://habr.com/ru/articles/585038/?utm_campaign=585038&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 22 Oct 2021 15:16:11 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[пакеты]]></category><category><![CDATA[defer]]></category><category><![CDATA[локальные ресурсы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Об использовании пустого регулярного выражения в Perl ( m// )]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/583952/</guid>
      <link>https://habr.com/ru/articles/583952/?utm_campaign=583952&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3f6/4c3/b95/3f64c3b95584aae956c910ad2ea9f605.png" /><p>На днях делал отсечение элементов списка не подходящих под регулярку введённую пользователем:</p><p><code>... <br>my $re = get_text_in_filter(); <br>@list = grep { /$re/i } @list; <br>...</code> </p><p><code>$re</code> был пустой строкой и в <code>@list</code><strong> </strong>должны были остаться все элементы.</p><p>Так и происходило при первом проходе, а при втором регулярка не пропускала ни одного элемента списка.</p> <a href="https://habr.com/ru/articles/583952/?utm_campaign=583952&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 17 Oct 2021 16:54:20 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[regexp]]></category><category><![CDATA[regex]]></category><category><![CDATA[empty regex]]></category><category><![CDATA[empty pattern]]></category><category><![CDATA[регулярные выражения]]></category><category><![CDATA[регулярки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Перезапись специальных переменных Perl регулярными выражениями]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/583710/</guid>
      <link>https://habr.com/ru/articles/583710/?utm_campaign=583710&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e63/379/77b/e6337977bf7f25015d36b46b80f5bd57.png" /><p>Когда-то я стал писать на <strong>perl</strong> из-за встроенных в язык регулярных выражений. Просто пишешь <code>"abc" =~ / (?&lt;x&gt; a) /x;</code> и вуаля: устанавливаются переменные <code>$&amp;, $1, %+, $`, $'</code>.</p><p>Однако эти же переменные перезаписываются при использовании  следующей регулярки:</p> <a href="https://habr.com/ru/articles/583710/?utm_campaign=583710&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 15 Oct 2021 12:46:02 GMT</pubDate>
      <dc:creator><![CDATA[darviarush]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[регулярные выражения]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Dancer2 или современное web-приложение на PERL. Часть III]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/579668/</guid>
      <link>https://habr.com/ru/articles/579668/?utm_campaign=579668&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d7f/4de/d2a/d7f4ded2ac00df3b19e27314afcf052a.png" /><p>Современные web-приложения в большинстве случаях хранят данные в SQL базах данных. Для доступа к этим данным используются объекты модели, которые позволяют совершать все основные операции: SELECT, INSERT, UPDATE, DELETE, но не ограничиваясь ими. </p><p>В этой части мы поговорим про работу с базой в <strong>Dancer2</strong>, а также научимся создавать модели и миграции на основе <strong>DBIx::Class </strong>(можно сказать, что эта статья является вводным руководством и по нему).</p> <a href="https://habr.com/ru/articles/579668/?utm_campaign=579668&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Sep 2021 16:48:15 GMT</pubDate>
      <dc:creator><![CDATA[alex_p007]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[dancer2]]></category><category><![CDATA[web]]></category><category><![CDATA[программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ищем дубликаты фотографий с помощью Perl]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/578874/</guid>
      <link>https://habr.com/ru/articles/578874/?utm_campaign=578874&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/145/7d5/79a/1457d579ad077c002599f60eea0c7e13.png" /><p>За 20 лет у меня скопилось несколько тысяч фотографий: праздники, свадьбы, рождение детей, и прочее, прочее... Понятно что снималось всё это на разные цифровики, присылалось почтой, сливалось через ICloud и GDrive, FTP, самба и т.п. По итогу всё это превратилось в дикий хаос папок и что-то найти в архиве можно было только с большим трудом.</p><p>В какой-то момент мне <s>нечем было заняться</s> это надоело и я за пару дней накидал скрипт, который всё это безумие раскидал по годам-&gt;месяцам-&gt;дням. Понятно, что и эта задача не такая простая как кажется на первый взгляд, что например делать с фото, у которых дата создания 1970? Но в этой статье я хотел бы рассказать о другом.</p> <a href="https://habr.com/ru/articles/578874/?utm_campaign=578874&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Sep 2021 04:48:56 GMT</pubDate>
      <dc:creator><![CDATA[Di-Ger]]></dc:creator>
      
      <category><![CDATA[фотографии]]></category><category><![CDATA[сортировка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Dancer2 или современное web-приложение на PERL. Часть II]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/573372/</guid>
      <link>https://habr.com/ru/articles/573372/?utm_campaign=573372&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f99/b59/473/f99b59473d7c88e17d053258cad1db20.png" /><p>Лето близится к концу, однако ещё остались дни, чтобы насладиться солнцем, отпуском, Perl и Dancer2. Последним двум будет посвящена эта статья. Сегодня поговорим про шаблоны, сессии и флэш-сообщения.</p> <a href="https://habr.com/ru/articles/573372/?utm_campaign=573372&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 17 Aug 2021 12:32:20 GMT</pubDate>
      <dc:creator><![CDATA[alex_p007]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[dancer2]]></category><category><![CDATA[web]]></category><category><![CDATA[програмиирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как удобно мониторить Citrix XenDesktop]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/571824/</guid>
      <link>https://habr.com/ru/articles/571824/?utm_campaign=571824&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cb5/779/845/cb5779845375ce3e43ea2b75ae6b973d.png" /><p>Подобный подход и мониторинг позволяет видеть динамику сессий пользователей по DG, оперативно выявлять проблемные сервера, оперативно реагировать на ошибки подключений пользователей и отслеживать используют или нет пользователи то или иное приложение. В перспективе можно на этой основе составлять отчеты.</p> <a href="https://habr.com/ru/articles/571824/?utm_campaign=571824&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 09 Aug 2021 04:37:39 GMT</pubDate>
      <dc:creator><![CDATA[dima_sheihin]]></dc:creator>
      
      <category><![CDATA[zabbix]]></category><category><![CDATA[citrix]]></category><category><![CDATA[citrix xendesktop]]></category><category><![CDATA[мониторинг]]></category><category><![CDATA[monitoring]]></category><category><![CDATA[zabbix api]]></category><category><![CDATA[zabbix мониторинг]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Dancer2 или современное web-приложение на PERL]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/571586/</guid>
      <link>https://habr.com/ru/articles/571586/?utm_campaign=571586&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/87e/97f/d2e/87e97fd2ed68cd072a2dc953d057fc1b.png" /><p>Perl, созданный аж в 1987 году, в 2021 продолжает успешно применяться в различных сферах IT. А вместе с фреймворком Dancer и с задачей создания web-приложения справляется легко и непринужденно.</p> <a href="https://habr.com/ru/articles/571586/?utm_campaign=571586&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 06 Aug 2021 12:08:09 GMT</pubDate>
      <dc:creator><![CDATA[alex_p007]]></dc:creator>
      
      <category><![CDATA[perl]]></category><category><![CDATA[dancer2]]></category><category><![CDATA[web]]></category><category><![CDATA[программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[SNMP MIB браузер (продолжение)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/560454/</guid>
      <link>https://habr.com/ru/articles/560454/?utm_campaign=560454&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ff2/ed7/799/ff2ed779946c42d98f532a4a6197f1e9.png" /><p>Сначала хочу немного вернуться назад. В <a href="https://habr.com/ru/post/560192/" rel="noopener noreferrer nofollow">первой части</a> я не написал, для чего вообще нужен MIB браузер и сами MIB модули, ведь многие как-то и без всего этого обходятся и вполне себе мониторят свои сети. Как правило для этого используется цифровой OID вида "<em>.1.3.6.1.4.1.171.11.113.1.3.2.2.3" </em>и тематические форумы пестрят запросами "А подскажите OID для того чтобы ...". При желании можно и самому найти нужный OID сделав walk где-то поближе к ветке <em>private</em>.</p><p>MIB браузер как раз и является тем инструментом, который позволит Вам упростить работу с оборудованием. Это фактически тоже самое, что иметь иерархическую структуру в базе данных с быстрым и удобным поиском, индексами, типами данных. Вы получаете быстрый доступ ко всем датчикам и триггерам оборудования, с возможностью их создания/правки. Тем самым становится проще администрировать сети, выявлять ошибки и быстрее реагировать на неисправности. Особенно это важно при работе с новыми моделям, ранее неизвестными Вам.</p> <a href="https://habr.com/ru/articles/560454/?utm_campaign=560454&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Jun 2021 11:34:31 GMT</pubDate>
      <dc:creator><![CDATA[Di-Ger]]></dc:creator>
      
      <category><![CDATA[snmp]]></category><category><![CDATA[mib]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[SNMP MIB браузер на Perl и JavaScript]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/560192/</guid>
      <link>https://habr.com/ru/articles/560192/?utm_campaign=560192&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/86b/8e8/02b/86b8e802b83c8c684c75927c247c79e8.png" /><p>Что делать на работе, если не знаешь, чем бы еще заняться? Конечно же писать на Хабр!</p><p>Благодаря нашим доблестным законодателям, дальнейшее развитие бизнеса самостоятельно - нерентабельно и мы уходим под более крупного оператора. Вот у меня и сложилась такая ситуация, что смысла дорабатывать, переписывать и исправлять свои старые проекты - нет, у "крупняка" все сервисы свои. <a href="https://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=&amp;cad=rja&amp;uact=8&amp;ved=2ahUKEwjaiu2hmvPwAhXysIsKHbubCEAQyCkwAHoECAUQAw&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DBEBmPj3Vojw&amp;usg=AOvVaw0wUycMxp6OuvVrYl6my41c" rel="noopener noreferrer nofollow">Сижу, курю</a>. А потом думаю, а чего сидеть-то, <a href="https://habr.com/ru/post/559580/" rel="noopener noreferrer nofollow">напишу-ка я на Хабр</a>. Статья прошла модерацию, «И тут Остапа понесло...».</p> <a href="https://habr.com/ru/articles/560192/?utm_campaign=560192&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 31 May 2021 11:44:59 GMT</pubDate>
      <dc:creator><![CDATA[Di-Ger]]></dc:creator>
      
      <category><![CDATA[snmp]]></category><category><![CDATA[mib]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пишем PBX на Perl для Yate]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/559580/</guid>
      <link>https://habr.com/ru/articles/559580/?utm_campaign=559580&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/067/478/813/06747881315777111291ea32a2bc8457.jpg" /><p>Когда-нибудь я напишу что-то в духе <a href="https://habr.com/ru/company/jetinfosystems/blog/444776/" rel="noopener noreferrer nofollow">"Как я стал программистом в 40 лет"</a>. Но точно не сегодня, к тому же мне давно уже не 40 и программистом я себя не считаю. А рассказать я хотел бы о своём опыте разработки PBX для собственных нужд. В качестве VoIP движка используется <a href="http://www.yate.ro/" rel="noopener noreferrer nofollow">Yate</a>, фронт- и бэкенд будет на Perl.  </p><p>Часто встречаю в комментариях к статьям вопросы: "Почему не (далее идут любимые варианты комментаторов)?". Итак, по порядку.  </p> <a href="https://habr.com/ru/articles/559580/?utm_campaign=559580&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 27 May 2021 09:58:27 GMT</pubDate>
      <dc:creator><![CDATA[Di-Ger]]></dc:creator>
      
      <category><![CDATA[yate]]></category><category><![CDATA[sip-телефония]]></category><category><![CDATA[perl]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Угон домена Perl.com]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/flant/articles/545640/</guid>
      <link>https://habr.com/ru/companies/flant/articles/545640/?utm_campaign=545640&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d19/def/ae0/d19defae0a7b4eae870f96c0bcba2d47.jpg" /><p><strong>Прим. перев.</strong>: в конце января стало известно о том, что один из основных доменов языка программирования Perl — Perl.com — был угнан. Это вызвало смешанную реакцию в сообществе как любителей языка, так и его противников. Теперь, когда всё уже позади и справедливость восстановлена, один из самых известных сторонников Perl — brian d foy — рассказал о том, что же произошло и как сообщество добилось положительного исхода событий. Представляем вниманию перевод его заметки.</p> <a href="https://habr.com/ru/articles/545640/?utm_campaign=545640&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 05 Mar 2021 07:05:42 GMT</pubDate>
      <dc:creator><![CDATA[shurup (Флант)]]></dc:creator>
      
      <category>Perl</category><category>сообщество</category><category>домены</category>
    </item>
  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Как мы боролись с техдолгом, или От 15 000 подключений к базе данных до 100]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/skillfactory/articles/539062/</guid>
      <link>https://habr.com/ru/companies/skillfactory/articles/539062/?utm_campaign=539062&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Недавно новый сотрудник спросил меня за обедом: «Какой у нас техдолг?»<br>
<br>
Услышав вопрос, я не мог не улыбнуться. Спрашивать инженеров-программистов о техническом долге компании – это то же самое, что спрашивать о кредитном рейтинге. Так программисты хотят узнать о сомнительном прошлом компании и о том, с каким багажом из прошлого придётся столкнуться. К техническому багажу нам не привыкать.<br>
<br>
Как поставщик облачных услуг, который управляет собственными серверами и оборудованием, мы столкнулись с проблемами, с которыми многие другие стартапы в новую эру облачных вычислений не сталкивались. Эти сложные ситуации в конце концов привели к компромиссу, на который нам пришлось пойти, когда компания только начала работать. И, как известно любой быстрорастущей компании, технические решения, которые вы принимаете на раннем этапе, обычно догоняют вас.<br>
<br>
Глядя на нового сотрудника, я глубоко вздохнул и начал: «Давай я расскажу о том, как у нас было 15 000 прямых подключений к БД…»<br>
<br>
История, которую я рассказал нашему новому сотруднику, – это история крупной технической перестройки DigitalOcean. Работала вся компания, эта работа продолжалась несколько лет и преподала нам много уроков. <br>
<br>
<a href="https://habr.com/ru/company/skillfactory/blog/539062/"><div style="text-align:center;"><img src="https://habrastorage.org/webt/5v/6j/-5/5v6j-5_www2ty-8pishm7aqxv1w.jpeg"></div></a> <a href="https://habr.com/ru/articles/539062/?utm_campaign=539062&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Приятного чтения!</a>]]></description>
      
      <pubDate>Thu, 28 Jan 2021 11:06:43 GMT</pubDate>
      <dc:creator><![CDATA[KD637 (Skillfactory)]]></dc:creator>
      
      <category>skillfactory</category><category>программирование</category><category>управление проектом</category><category>техдолг</category><category>разработка</category>
    </item>
  

  

      

      

      

    
  </channel>
</rss>
