有没有人有Perl5i的经验?

时间:2011-09-25 10:21:17

标签: perl perl5 perl5i

我偶尔会看到Perl5i被提及。它看起来很棒,让事情变得更容易。一些问题:

  1. 此模块是否与其他模块兼容,例如舞者,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;
    
  4. 任何经验,无论好坏,请分享。

1 个答案:

答案 0 :(得分:10)

我是perl5i的主要作者。

1)perl5i与其他模块兼容。如果您发现冲突,请告知我们。 http://github.com/schwern/perl5i/issues

2)是的,它与Moose和Mouse兼容。它没有重塑这些车轮的野心。它对面向对象的贡献是自动装箱,其中非对象可以有像$string->trim那样的方法。

3)通常,您可以安全地将perl5i与现有代码一起使用。但是,它确实做了一些小的向后不兼容的更改,通常是Perl的一些无论如何都没有意义。需要注意的最重要的事情是:1)文件操作(如open)现在会在失败时抛出异常,2)utf8 :: all会更改非文本文件的读取方式。

我对perl5i的体验有偏见。我可以说perl5i最大的负面影响是1)有时会出现bug并且它的词汇效应泄漏到范围之外2)依赖链非常大,3)其中一些依赖项在Windows上存在问题。积极的一面是,自动装箱和内置异常会改变人们写Perl的方式。

有一个FAQ,我提供talk about perl5i