2013-05-12 9 views
7

Come indica il titolo, c'è comunque che posso dire automaticamente a Perl di includere quanto segue in ogni script perl che scrivo (se non diversamente specificato)?Esiste un modo per "autoutilizzare" determinati moduli ogni volta che scrivo uno script?

use strict; 
use warnings; 
use feature 'say'; 

io so che non è un grosso problema per scrivere tre righe, ma sarebbe bello se potessi cambiare alcuni file system o qualcosa per fare in modo che non ho mai hanno a che fare di nuovo.

Grazie in anticipo.

+0

se si sta usando vim, basta definire un file 'pl' template, cioè fare all'interno del proprio editor. – perreal

+1

Io uso solo [common :: sense] (https://metacpan.org/module/MLEHMANN/common-sense-3.4/sense.pm.PL), sebbene legga quel documento per vedere cosa implica esattamente questo. Una risposta diretta alla tua domanda è solo un link che non mi sento di esporre su: http://shadow.cat/blog/matt-s-trout/a-perl-of-your-own/ –

risposta

4

Se si utilizza perl 5.11.0 di livello superiore, use strict; è abilitato per impostazione predefinita. Quando usi Moose ricevi gratis strict un warnings libero;

È possibile anche definire il proprio modulo con tutte le caratteristiche necessarie, e tutte le linee sono ridotti a una sola riga, come:

use Myname::defs; 

Come sviluppare un modulo che cosa comprende le vostre esigenze, si risponde qui: How to make "use My::defaults" with modern perl & utf8 defaults? . Se non hai bisogno di utf8 puoi abbreviare la risposta geniale a strict, warnins e features. Puoi anche controllare this question e this question.

Per lo sviluppo si può anche considerare il:

use strictures 1; 

about it here Leggi.

+0

Questo doesn ' t rispondere alla domanda. Se "usa Myname :: defs;" ha funzionato, questa non sarebbe una domanda. – felwithe

+0

@felwithe Hai seguito i primi due collegamenti in questa risposta? Entrambi mostrano esempi di come scrivere il proprio modulo che esporta elementi come le strictures nel pacchetto corrente. – ThisSuitIsBlackNot

+0

Dopo 3 anni un downvote :). Va bene, ma sarebbe bello sapere il motivo, ad es. come potrei migliorare la risposta. – jm666

1

Utilizzando la sintassi use VERSION con un numero di versione maggiore o uguale a 5.11.0 si abiliterebbero lessicamente le stricture proprio come farebbe use strict (oltre alle funzioni di abilitazione). Il seguente:

use 5.11.0; 

significa:

use strict; 
use feature ':5.11'; 

Mentre editor come emacs può essere impostato per aggiungere automaticamente le 3 linee, si può efficacemente ottenere lo stesso fornendo argomenti invocando perl:

perl -w -M5.11.0 foo.pl 

[È possibile aggiungere un alias per perl nello script di avvio della shell.]

Problemi correlati