Ja, das ist notwendig.
use strict
und use warnings
machen verschiedene Dinge.
Von der Hilfeseite des Moduls strict
:
strict - Perl-Pragma, um unsichere Konstrukte einzuschränken
Von perlrun
(für -w
):
druckt Warnungen über zweifelhaft Konstrukte wie Variablennamen das sind nur einmal erwähnt und skalare Variablen, die sind benutzt vor dem Festlegen, neu definierte Unterprogramme, Verweise auf nicht definiert Dateihandles oder Dateihandles geöffnet schreibgeschützt, dass Sie sind Versuche zu schreiben, Werte als eine Zahl, die nicht verwendet werden aussehen wie Zahlen, mit einem Array, als wäre es ein Skalar, wenn Ihre Subroutinen rekrutieren mehr als 100 tief und unzählige andere Dinge.
Dieselbe Frage ist vor ein paar Tagen hier aufgetaucht: Welches Sicherheitsnetz verwenden Sie in Perl? . Dieser Link führt zu einer Diskussion von Strikten, Warnungen, Diagnosen und anderen ähnlichen Themen.
Es ist nicht notwendig in der eigentlichen Bedeutung dieses Wortes. Das heißt, ein Programm benötigt keinen Betrieb. Die Leute vergessen oft, was notwendig bedeutet.
Wenn Ihre Frage jedoch lautet: "Ist Warnungen strikt aktivieren?" lautet die Antwort Nein. Sie können sehen, was strikt ist, indem Sie die Dokumentation lesen.
warnings
sind oft nützlich, um auf Probleme hinzuweisen, die Sie beheben sollten. Die Warnungen von Perl erfordern jedoch nicht, dass Sie sie beheben. Ihr Programm kann also fortgesetzt werden, obwohl es Warnungen ausgibt.
Einige Leute werden dir sagen, dass du immer Warnungen verwenden sollst, aber sie machen diese Art von Regel, damit sie nicht darüber nachdenken oder es Leuten erklären müssen, die nicht darüber nachdenken. Es ist eine unpopuläre Position, etwas anderes als "immer Warnungen verwenden" zu sagen.
warnings
sind ein Werkzeug für Entwickler, und wenn die Leute, die die Warnungen sehen, nicht wissen, was sie sind oder was sie dagegen tun sollen, werden sie wahrscheinlich nur Ärger oder Verwirrung verursachen. Ich habe ein paar Fälle gesehen, in denen neue Perls neue Warnungen für Programme ausgaben, die dann die Festplatten füllten, da niemand die Protokolldateien überwachte.
Ich habe eine viel nuanciertere Regel "benutze Warnungen, wenn du etwas gegen sie tun wirst, und benutze sie nicht, wenn du es nicht tust".
Ich gehe noch nicht mal so weit und sage "Immer warnfreien Code schreiben". Es gibt viel Code, den ich schreibe, den ich genau einmal ausführen werde, oder von der Befehlszeile, oder in anderen Situationen, in denen mir die Schlamperei egal ist. Ich mag es nicht, anderen Leuten warnenden, schmutzigen Code zu geben, aber ich mache mir keine Sorgen um Kleinigkeiten, die ich für mich selbst tue.
"Was meinst du mit notwendig?" ist meine Antwort.
Wenn Sie denken, dass strict
und warnings
dasselbe sind, liegen Sie falsch. Andere Leute hier haben sehr gute Antworten gegeben, was jedes Pragma betrifft.
use warnings
wird Sie im Allgemeinen zu einem besseren Coder machen. Wenn Lernen wichtig ist, dann wäre meine Antwort "Ja".
Es wird Ihnen auch helfen, Fehler zu vermeiden, damit Ihre Fehler leichter zu verstehen sind.
Im Allgemeinen würde ich sagen, dass es sehr wenige Fälle gibt, in denen es gerechtfertigt ist, sowohl strict
als auch warnings
nicht zu verwenden. Ich verwende sogar Warnungen in meinen Einzeilern, z. > perl -we 'print "Hello world!"'
Es dauert ein paar Sekunden, um zu tippen, aber sparen Sie Stunden unnötiger Arbeit Debugging.
Tags und Links perl