2011-09-25 8 views
7

Occasionalmente vedo menzionare Perl5i. Sembra fantastico e rende le cose più facili. Alcune domande:Qualcuno ha esperienza con Perl5i?

  1. Questo modulo è compatibile con altri moduli, ad es. Ballerino, Mojolicious, XML :: RSS, ecc.?

  2. È compatibile con Moose o ha caratteristiche OO migliori?

  3. avvolge i migliori moduli CPAN, se il mio script utilizza questi ...

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

    ... devo solo sostituirlo con:

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

Ogni esperienza, buoni e cattivi, si prega di condividere.

risposta

10

Sono l'autore principale di perl5i.

1) perl5i è compatibile con altri moduli. Se trovi un conflitto, faccelo sapere. http://github.com/schwern/perl5i/issues

2) Sì, è compatibile con Moose e Mouse. Non ha ambizioni di reinventare quelle ruote. Il suo contributo a OO è l'autoboxing, in cui i non oggetti possono avere metodi chiamati su di essi come $string->trim.

3) In generale, è possibile utilizzare in modo sicuro perl5i con codice esistente. Tuttavia, fa alcune piccole modifiche all'indietro incompatibili, generalmente a bit di Perl che non hanno comunque senso. Le cose più importanti da tenere a mente sono: 1) operazioni sui file (come open) che ora generano eccezioni in caso di fallimento e 2) utf8 :: tutto cambia come vengono letti i file non di testo.

Le mie esperienze con perl5i sono di parte. Posso dire che i maggiori aspetti negativi di perl5i sono 1) a volte ci sono bug e i suoi effetti lessicali sono fuori portata 2) la catena di dipendenze è piuttosto grande e 3) alcune di queste dipendenze hanno problemi su Windows. I lati positivi sono la quantità di autoboxing e le eccezioni integrate che modificano il modo in cui si scrive Perl.

C'è un FAQ e io do uno talk about perl5i.