UPDATE: Список модулей внизу темы постоянно обновляется
Предлагаю составить список лучших CPAN-модулей, которые решают одну задачу при этом не требуя установки половины CPAN.
Что это значит?
Всем известны большие фреймворки по типу Moose, Plack, DBIx::Class и так далее. Однако, существует огромное количество небольших модулей, которые не так известны, но отлично и лаконично решают свою одну задачу. Дабы самим не изобретать велосипеды, можно будет всегда глянуть этот список и найти нужный модуль.
Модуль не обязательно должен быть ::Tiny
, но должен соответствовать критериям: одна задача, минимум зависимостей (и вполне оправданных), минимум кода для ее решения.
Например, модуль Capture::Tiny перехватывает stdin/stdout, однако не зависит от внешних модулей, имеет удобный интерфейс и превосходно работает!
Предлагайте в ответах модули (один модуль на комментарий) с небольшим описанием почему вы думаете, что они подходят. А другие будут плюсовать.
Capture::Tiny — перехват stdin/stdout.
HTTP::Tiny — простой, но корректный, веб-клиент.
YAML::Tiny — парсинг вполне достаточного подмножества YAML
Routes::Tiny — маршрутизация для веб-фреймворков :)
Text::Unidecode — преобразование юникодных символов в ascii. Этот модуль работает и на форуме при преобразовании названий тем (иконка bookmark).
Test::TempDir::Tiny — создание временных директорий для тестирования. Если тест не проходит, директория не удаляется для дальнейшего дебага.
Log::Any — "абстрактное" логирование, можно начать логировать ещё не решив куда и как будут отправляться логи.
Path::Tiny — джентельменский набор для работы с файлами. Катит?
String::CamelCase — ИзВотЭтого в вот_это и обратно.
V — perl -MV=Plack показывает версию модуля и путь к нему.
Role::Tiny — работа с ролями в стиле Moose, используется в Moo.
Type::Tiny — типы в стиле Moo(se).
Validate::Tiny — минималистичный валидатор данных, в частности форм.
Clone — быстрая реализация dclone из Storable
Class::Tiny — минималистичный конструктор классов в духе Object::Tiny, но с дополнительными возможностями.
Modern::Perl -- без него никуда )
_italic_
→ italic
**bold**
→ bold
[PP](http://pragmaticperl.com)
→
<http://pragmaticperl.com>
→
module:Plack
→
release:URI
→
author:VTI
→
`my $foo = 'bar'`
```
my $multi;
$line;
```