|
|
|
|
MysqlAsync (perl-mysql-async) |
[+] [есть мнение] |
| Perl модуль для асинхронного выполнения запросов к MySQL, при котором после отправки SQL запроса управление мгновенно возвращается обратно, а при готовности результата вызывается callback функция. |
|
|
|
|
AnyEvent - provide framework for multiple event loops |
(Версия: 5.29 от 2010-12-28) [+] [обсудить] |
| Perl модуль для создания цикла обработки событий, например, поступление сигнала от таймера, изменение файла, поступление сетевого соединения.
POE - фреймворк для создания многозадачных и сетевых приложений на Perl;
EV - perl интерфейс к libev. Отличается высокой производительностью;
Event - Event loop processing |
|
|
|
|
|
|
|
Linux::Statistics - collect system statistics |
[+] [обсудить] |
| Linux::Statistics - Perl модуль для разбора многочисленной статистической информации (системные буферы, утилизация ОЗУ, процессы, сетевые соединения, диски и т.д.), которую можно получить через файловую систему /proc под Linux;
BSD::Resource - позволяет устанавливать и просматривать состояние лимитов, контролировать загрузку CPU и расход памяти для текущего процесса (интерфейс к getrusage). |
|
|
|
|
|
|
|
Readonly::XS - speed up read-only scalar variables. |
[+] [обсудить] |
| Модуль реализует альтернативный способ доступа к переменным, которые в процессе работы скрипта не меняют свое значение. Т.е. делаем "use Readonly::XS" и если есть какие-то неизменяемые переменные, например, описывающие параметры конфигурации, то доступ к ним становится на порядок быстрее. |
|
|
|
|
|
|
|
PerlPoint - presentation and a documentation toolset |
[+] [обсудить] |
| Модули для парсинга и преобразования wiki-подобного диалекта для текстового форматирования презентаций и текстовых документов. Поддерживается экспорт в
HTMP, XML, POD, SGML, TeX и т.д.
PerlPoint::Converters;
PerlPoint-styles;
OpenOffice-PerlPoint - конвертер из формата Open Office / Open Document в PerlPoint;
CGI::Wiki - toolkit for building Wikis;
Convert::Wiki - конвертер HTML/POD/txt из Wiki или в Wiki формат;
HTML::WikiConverter - преобразователь HTML файлов в формат таких wiki как DocuWiki, Kwiki, MediaWiki,MoinMoin, PhpWiki , WakkaWiki, TikiWiki и т.д. |
|
|
|
|
|
|
DateTime - Perl modules for dealing with dates and times (доп. ссылка 1) |
[+] [обсудить] |
| DateTime::* - набор Perl модулей для прсинга и отображения дат в заданных форматах;
"The Many Dates and Times of Perl" - хороший обзор модулей для работы с датами;
Date::Manip - большой (более 3-х тысяч строк на Perl, ресурсоемкий) модуль для манипулирования датами, включает мощные функции парсинга дат, например, понимает "1st thursday in June 1992", поддерживает функции манипулирования датами, вычисление разницы, математические операции (DateCalc("today","+ 3hours 12minutes 6 seconds"));
Date::Calc - написанный на Си модуль для манипулирования датами, функциональность не хуже чем у Date::Manip. Позволяет выполнять всевозможные манипуляции с датами, рекомендуется использовать именно его;
Date::Range - модуль ориентированный на вычисление различных параметров разницы между двумя датами;
TimeDate (Date::Format, Date::Parse) - простые модули для парсинга и вывода дат в произвольном виде;
DateTime::Format::HTTP, HTTP::Date - разбор и преобразование даты в формат соответствующий RFC 822, используемый в HTTP, RSS и т.д.
|
|
|
|
|
|
|
Интересные варианты реализации хэшей в Perl |
(Версия: 5.16.3 от 2013-03-25) [+] [обсудить] |
| Tie::Hash::Approx - если элемент хэша не найден, то осуществляется попытка вернуть значение наиболее похожего ключа;
Tie::AliasHash - оптимальный вариант хэша, когда одно и тоже значение имеет множество ключей;
Tie::Hash::Expire - хэш с заданием времени жизни записи, облегчает организацию кэширования;
Tie::Hash::Regex, Tie::Hash::RegexKeys и Tie::RegexpHash - возможность использования регулярных выражений для выборки ключей;
Tie::Hash::Sorted, Tie::SortHash - хэш хранящий ключи в отсортированном виде. Tie::Hash::Rank - обратный случай, когда элементы сохраняются отсортированными по данным, которые ассоциированы с ключом. Tie::InsertOrderHash и Tie::Hash::Indexed - сортировка в порядке вставки элементов;
Tie::RangeHash - в качестве ключа выступает числовой промежуток, например от 1 до 5 ="a", от 6 до 10 = "b";
Tie::Hash::Transactional - хэш с возможностью отката операций, используя контрольные точки;
Hash::MultiKey - хэш ориентированный на привязку к хранимому значению нескольких ключей;
|
|
|
|
|
|
|
|
|
FAM - File Alteration Monitor |
(Версия: 5.0.0 от 2005-11-10) [+] [обсудить] |
| API для мониторинга за состоянием файла или группы файлов/директорий. Можно использовать, когда в программе нужно выполнить какое-то действие сразу после изменения состояния файла.
SGI::FAM - Perl-интерфейс;
Python FAM Lib;
fileschanged - утилита работающая в режиме командной строки, для использования в Shell. |
|
|
|
|
|
|
Storable - преобразует структуру в бинарный вид. |
[+] [обсудить] |
| Модули для преобразования сложный структур данных (массивы, хэши) в вид пригодный для записи на диск, передачи по сети или записи в Berkeley DB базу.
YAML - преобразует сложные структуры в YAML формат (подходит для ручного редактирования).
Data::Serializer - набор модулей для преобразования структур данных, поддерживается шифрование и сжатие.
FreezeThaw - более простой и менее производительный по сравнению со Storable.
Data::Dumper - преобразует структуру в текстовый "perl" вид, пригодный для eval и ручной правки. |
|
|
|
|
Perl модули для кэширования данных. |
(Версия: 5.16.3 от 2013-03-20) [+] [обсудить] |
| Cache - кэширование блоков данных в памяти текущего процесса
(Cache::Memory) или на диске (Cache::File). Задается время жизни
элемента, стратегия очистки кэша при превышении лимита на размер
хранилища, возможно обращение к элементам кэша как к хэшу через
tie-интерфейс. Cache является переработкой модуля Cache::Cache, имеет
простой интерфейс и мощные возможности. Для хранения сложных структур
нужно отдельно вызывать не set/get, а freeze/thaw методы.
Cache::Cache - прообраз модуля Cache, похож на него как по синтаксису, так
и по функциям. Содержит Cache::MemoryCache, Cache::SharedMemoryCache (очень
медленный), Cache::FileCache и т.д. Множество разнообразных функций,
но относительно медленный.
Cache::FastMemoryCache - Расширение Cache::Cache для быстрого хранения блоков
данных в памяти процесса, ориентирован в качестве замены Cache::MemoryCache
для простых задач, например, когда не требуется свопинг кэша на диск.
Cache::FastMmap - Написанный с использованием языка Си модуль для кэширование
данных в памяти между несколькими процессами (разделяемая память через mmap).
Присутствует система автоматического контроля размера кэша и удаления
устаревших элементов. Наиболее подходит при использовании с mod_perl.
Отличается высокой производительностью.
Существует похожий модуль Cache::Mmap, но большая часть кода в нем написана
на Perl, он проигрывает Cache-FastMmap по производительности.
CGI::Cache - позволяет кэшировать на диске вывод cgi-скриптов
использующих модуль CGI (в качестве ключа используются параметры
запроса или cookie). Задается время жизни, максимальный размер файла.
Cache::Memcached - Perl API для memcached, системы для распределенного кэширования
объектов в памяти. Более быстрая альтернатива - Cache::Memcached::Fast, примерно в 6 раз быстрее.
File::Cache - безнадежно устарел, на смену ему пришел Cache::Cache.
Tie::Cache::LRU - немного устарел. Используется для кэшировании блоков
данных в пределах одного процесса, используя алгоритм вытеснения из кэша устаревших элементов LRU. Может использоваться для создания хэшей с ограничением общего размера для всех элементов.
|
|
|
|
|
|
|
|
|
|
|
|
Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers |
[+] [обсудить] |
| Набор функций для оперирования временем с точностью до микросекунды. Креме специфичных функций usleep, gettimeofday, tv_interval, setitimer , getitimer и ualarm, приводятся микросекундные аналоги функций time, sleep, alarm и т.д. |
|
|
|
|
|
|
|
|
|
|
Config::General - Generic Config Module |
(Версия: 2.52 от 2013-07-04) [+] [обсудить] |
| Модуль для работы с конфигурационными файлами в perl-скриптах. Позволяет не только считывать информацию из файла конфигурации, но и создавать и производить изменения из perl скриптов. Конфигурация для программы выглядит в виде многоуровневого хэша. См. также модули: Config - информация о текущем окружении Perl, Config-Simple и Config-Tiny |
|
|
|
|
|
SQLite - Embeddable SQL Database Engine |
(Версия: 3.7.3 от 2010-10-20) [+] [есть мнение] |
| Библиотека реализующая интерфейс для организации баз данных без использования сторонних RDBMS систем (например, MySQL, PostgreSQL и т.д.). Для организации БД и доступа к хранилищу достаточно установить библиотеку SQLite, которая поддерживает запросы к хранилищу в виде SQL запросов. Все таблицы и индексы для БД хранятся в одном файле, существуют средства контроля целостности данных (атомарные commit и rollback транзакции), небольшой размер библиотек и поразительная скорость обработки запросов.
Для пользователей Perl разработан модуль DBD::SQLite - предоставляющий доступ к SQLite через DBI драйвер.
Для запуска SQLite как сетевого сервера можно использовать SQLRelay;
FT3 (full text indexer and search engine) - система полнотекстового поиска для SQLite;
SQLiteDBMS - СУБД сервер на базе SQLite, работающий как серверный процесс и принимающий соединения по TCP/IP, используя XML-подобным протокол запросов. |
|
|
|
|
Модули для обработки изменений файла в реальном времени (аналог tail -f). |
[+] [обсудить] |
| Event::File::tail - при появлении данных будет вызываться заданная функция.
File::Tail - цикличная обработка обновлений в файле.
File::MultiTail - цикличная обработка одновременно нескольких обновляющихся файлов. |
|
|
|
|
Imager - perl module for manipulating gray, color and rgba images (доп. ссылка 1) |
(Версия: 0.67 от 2009-03-14) [+] [есть мнение] |
| Набор Perl модулей для создания и обработки изображений. Поддерживаются форматы JPEG, PNG, PPM, PGM, PBM, GIF, Tiff, BMP, TGA.
Гибкие возможности по наложению текста (антиалиасинг, truetype и postscript шрифты). Интерфейс для написания плагинов на языке Си.
В качестве аналога можно предложить ImageMagick, но люди использующие оба пакета не только для преобразований, но и для обработки и создания изображений больше хвалят Imager. |
|
|
|
|
|
|
|
File::Scan - Perl extension for Scanning files for Viruses (доп. ссылка 1) |
[+] [обсудить] |
| Модуль File::Scan может использоваться как многоплатформенный интерфейс для написания сканера для обнаружения Windows/DOS/Mac вирусов (присутствует CLI утилита для поиска вирусов в файле). В комплект также входит небольшая база сигнатур вирусов, которую удобно использовать, например, при написании фильтров для блокировки почты.
|
|
|
|
|
|
|
|
|
|