2010-10-19 4 views
8

Ich las in Simon Cozens 'Buch "Beginning Perl", dass -w-Schalter für Warnungen in Zukunft veraltet sein würde. Ist das wahr oder ist es immer noch in Ordnung, weiter -w zu verwenden anstatt "Warnungen verwenden"?Ist Perls -w-Schalter für Warnungen nach 5.6.x veraltet?

+3

Aktualisieren Sie Ihr Perl-Tutorial-Buch auf etwas, das viel später geschrieben wurde. Dieses Buch ist eine alte Geschichte. :) –

+1

Ich habe mich auf ein paar Bücher nach Beliebtheit eingegrenzt - 1) Perl lernen 2) Perl programmieren und 3) Perl Cookbook. Ich plane, diese 3 für jetzt zu verwenden. Werde mich über andere Vorschläge freuen. – Wilderness

+1

verwenden Sie streng; Warnung verwenden; Ich fühle Gebrauch Warnungen, streng sind die eleganteste Art der Perl-Programmierung. – vrbilgi

Antwort

16

Die perlrun-Dokumentation (siehe perldoc perlrun oder this page) zeigt an, dass die Option -w noch ab Perl 5.12.2 verfügbar ist. Mit dem Pragma erhalten Sie jedoch nette Vorteile, wie turning warnings on lexically und feinkörniger Warnungen.

Here ist ein Klappentext auf, warum Sie das Pragma anstelle der Befehlszeilenoption verwenden sollten.

+0

Danke, mfollett! Ich verstehe was sie meinen. Also sollte ich mir angewöhnen: #!/Usr/local/bin/perl Warnung verwenden; anstelle von: #!/Usr/local/bin -w ? – Wilderness

+0

Wird bei der Verwendung von -w das Skript als Perl foo.pl ausgeführt, um Warnungen zu aktivieren? –

+2

@Wilderness: 'Warnungen verwenden;' sollte nicht in der Shebang-Zeile sein. Es ist eine normale Perl-Anweisung. – tsee

4

Die Option -w wird NICHT weggehen!

Die bevorzugte Methode zum Aktivieren von Warnungen ist use warnings, da -w einen globalen Effekt hat. (Tatsächlich wird -w durch eine globale Variable $^W implementiert. Das allein sollte Ihnen sagen, dass die lexikalische Version sicherer ist.)

Verwandte Themen