2010-10-19 8 views
8

Ho letto nel libro di Simon Cozens "Beginning Perl" che l'opzione -w per gli avvisi sarebbe stata deprecata in futuro. È vero o è ancora corretto continuare a usare -w piuttosto che "usa gli avvertimenti".L'opzione di Perl per gli avvisi è deprecata dopo 5.6.x?

+3

Aggiorna il tuo libro di esercitazione Perl a qualcosa di molto più recente. Quel libro è storia antica. :) –

+1

Ho ristretto a pochi libri per popolarità - 1) Learning Perl 2) Programming Perl e 3) Perl Cookbook. Sto pensando di usare questi 3 per ora. Apprezzerò qualsiasi altro suggerimento. – Wilderness

+1

usare rigorosamente; avvertimento uso; Mi sento usare gli avvertimenti, rigoroso sono il modo più elegante di programmazione perl. – vrbilgi

risposta

16

La documentazione perlrun (vedere perldoc perlrun o this page) indica che l'opzione -w è ancora disponibile a partire da Perl 5.12.2. L'uso del pragma ti dà comunque dei benefici, come lo turning warnings on lexically e gli avvisi a grana più fine.

Here è un motivo per cui è necessario utilizzare il pragma anziché l'opzione della riga di comando.

+0

Grazie, mfollett! Ho capito il tuo punto. Quindi, dovrei abituarmi ad usare: #!/Usr/local/bin/perl avvertimento uso; anziché: #!/Usr/local/bin -w ? – Wilderness

+0

Quando si utilizza -w, si esegue lo script come perl foo.pl attivano gli avvisi? –

+2

@Wilderness: 'usa avvertenze;' non dovrebbe essere sulla linea shebang. È una normale affermazione di Perl. – tsee

4

L'opzione -w sarà NON andare via!

Il metodo preferito di attivazione degli avvisi è use warnings perché -w ha un effetto globale. (Infatti, -w è implementato per mezzo di una variabile globale $^W. Questo solo dovrebbe dirti che la versione lessicale è più sicura.)