52
3986

Лучшие минималистичные CPAN-модули

vti
2015-01-16 17:04 обн. 2015-03-18 17:16

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 — создание временных директорий для тестирования. Если тест не проходит, директория не удаляется для дальнейшего дебага.

Test::Fatal

Log::Any — "абстрактное" логирование, можно начать логировать ещё не решив куда и как будут отправляться логи.

Path::Tiny — джентельменский набор для работы с файлами. Катит?

Try::Tiny

Error::Tiny

Time::Piece

Time::Moment

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 -- без него никуда )

Чтобы ответить, залогиньтесь или зарегистрируйтесь.
  • @user
  • _italic_

    italic

  • **bold**

    bold

  • [PP](http://pragmaticperl.com)

    PP

  • <http://pragmaticperl.com>

    http://pragmaticperl.com

  • module:Plack

    Plack

  • release:URI

    URI

  • author:VTI

    VTI

  • `my $foo = 'bar'`
  • ```
    my $multi;
    $line;
    ```