У кого-нибудь есть опыт работы с Perl5i? - PullRequest
7 голосов
/ 25 сентября 2011

Я иногда вижу упоминание Perl5i. Смотрится отлично и сделает вещи проще. Некоторые вопросы:

  1. Совместим ли этот модуль с другими модулями, например, Dancer, Mojolicious, XML :: RSS и т. Д .?

  2. Совместимо ли оно с Moose или имеет лучшие функции OO?

  3. Оборачивает лучшие модули CPAN, если мой скрипт использует эти…

    use strict;
    use utf8::all;
    use XML::RSS::JavaScript;
    use DateTime::Format::Mail;
    

    … мне просто заменить его на:

    use perl5i::2;
    use XML::RSS::JavaScript;
    use DateTime::Format::Mail;
    

Любой опыт, хороший и плохой, пожалуйста, поделитесь.

1 Ответ

10 голосов
/ 26 сентября 2011

Я основной автор perl5i.

1) perl5i совместим с другими модулями.Если вы обнаружите конфликт, дайте нам знать.http://github.com/schwern/perl5i/issues

2) Да, он совместим с Moose и Mouse.У него нет амбиций изобретать эти колеса.Его вклад в OO - автобокс, где не-объектам могут быть вызваны методы, такие как $string->trim.

3) В общем, вы можете безопасно использовать perl5i с существующим кодом.Тем не менее, он делает небольшие небольшие несовместимые изменения, как правило, в битах Perl, которые в любом случае не имеют смысла.Самые важные вещи, на которые стоит обратить внимание: 1) файловые операции (например, open) теперь генерируют исключения при сбое, и 2) utf8 :: all изменяет способ чтения нетекстовых файлов.

Мой опыт работы с perl5i смещен.Я могу сказать, что самые большие недостатки в perl5i: 1) иногда появляются ошибки, и его лексические эффекты выходят за рамки 2) цепочка зависимостей довольно большая и 3) некоторые из этих зависимостей имеют проблемы в Windows.Положительными сторонами являются то, насколько автобокс и встроенные исключения меняют способ написания Perl.

Существует FAQ , и я даю доклад о perl5i .

...