Vermeidung häufiger Versäumnisse in Perl

einen Tippfehler oder zwei während des Kurses ein Perl-Programm zu schreiben Eingabe ist nicht ungewöhnlich. Aber wenn Sie versuchen, ein Programm auszuführen, um eine Texteingabe-slip-up enthält, Perl wird in der Regel verwirrt und sagt Ihnen, so durch einen Fehler meldet. Die natürliche Reaktion für die meisten Menschen, ist auch diejenigen mit langjähriger Programmiererfahrung, besorgt oder wütend oder beides zu erhalten, wenn eine Fehlermeldung erscheint.

Menu

Keine Panik. Atmen Sie tief ein. Nehmen wir ein anderes langsamen, tiefen Atemzug. Ernsthaft, können Sie nicht an die Wurzel des Problems zu erhalten, wenn Sie alle angespannt und gestört sind. Egal, wie viele Jahre Sie programmieren, können Sie immer einige Fehler im Code finden Sie am Ende geschrieben sind.

So, jetzt, dass Sie (hoffentlich) etwas ruhiger, können Sie die Tatsache zu schätzen, dass beginnen Perl hilfreicher Fehlermeldungen als fast jede andere Programmiersprache hat. Die Nachrichten sind nicht immer direkt auf das Geld, aber sie können Sie ziemlich nah an der Stelle, wo das Problem mit minimalen Suche auf Ihrer Seite liegt.

Perl hat Fehlermeldungen unzählige, aber ein paar auf jeden Fall mehr als andere auftauchen auf einige häufig Tippfehler zurückzuführen ist, dass jeder zu machen scheint. Folgende Fehler resultieren aus geringfügigen Texteingabe goofs, die Sie leicht vermeiden können.

Vergessend ein Semikolon

Die wohl häufigste Fehlermeldung angezeigt wird, wenn in Perl-Programmierung sieht wie folgt aus:

# Syntaxfehler, in der Nähe von "offen"
Datei 'counter1.pl'- Linie 10
# Ausführung wegen Übersetzungsfehlern abgebrochen.

Sie können an der Linie 10, etwas falsch mit ihm suchen und suchen Sie das mit der Open-Anweisung, und Sie werden nicht sehen. Der Trick hier ist die Aussage zu untersuchen, kommt Vor die offene Aussage und sehen, ob sie mit einem Semikolon endet. (Perl weiß, dass eine Aussage endet erst, wenn es ein Semikolon begegnet.) In diesem Fall wird der Fehler durch einen fehlenden Semikolon am Ende der Zeile 7 des Programms verursacht:

$ Thefile = "sample.txt"

Vergessend ein Anführungszeichen

Die folgende Art von Fehlermeldung kann sehr frustrierend sein, wenn Sie von einer schnellen Lösung nicht wissen:

# Bare Wort, in dem Betreiber erwartet gefunden, in der Nähe von
# "Open (INFILE, $ thefile) or die" The "
# (Könnte ein Ausreißer Multi-line "" string ab
# Zeile 7)
Datei 'counter1.pl'- Linie 10

Dieser Fehler ist ähnlich stattdessen eine Semikolons zu vergessen, es ist ein Anführungszeichen, die versehentlich ausgelassen wird:

$ Thefile = "sample.txt;

In diesem Fall hat Perl einen guten Job zu erraten, was falsch ist, was darauf hindeutet, dass eine außer Kontrolle geratenen Multi-line "" string auf der Linie 7 ist das Problem, das genau richtig ist.

Die Eingabe einer Klammer zu viele oder zu wenige

Wenn Sie Lasten der Öffnungs- und Schließ Klammern in einem Programm haben, ist es einfach, ein Extra in zufällig zu rutschen. Wenn das der Fall ist, können Sie eine Nachricht von Perl sehen, die ungefähr so ​​lautet:

# Syntaxfehler, in der Nähe ") eq"
Datei 'counter1.pl'- 38 Linie
# Syntaxfehler, in der Nähe von "}"
Datei 'counter1.pl'- 42 Netz

Hier kann Perl nicht bestimmen, wo der Fehler genau ist, aber es hat tatsächlich es gleich am ersten Vermutung: Die Linie 38 enthält eine zusätzliche Klammer rechts:

if (substr ($ TheLine, $ CharPos, 1)) eq "")

eine Klammer zu wenig in einem Perl-Programm zu haben verursachen können Probleme schwerer zu finden:

# Kann nicht verwenden konstante Position wie links arg impliziter --->,
# In der Nähe von "1}"
Datei 'counter1.pl'- 39 Linie
# Scalar gefunden, wo Betreiber erwartet, in der Nähe von "$ CharPos"
Datei 'counter1.pl'- 40 Linie
# (Fehlende Semikolon auf vorherige Zeile?)
# Syntaxfehler, in der Nähe von "$ CharPos"
Datei 'counter1.pl'- 40 Linie

Yarp! All dies wurde produziert, weil die letzte Klammer auf der Linie 38 fehlt:

if (substr ($ TheLine, $ CharPos, 1) eq ""

Hier ist eine weitere gute Lektion Tippfehler bei der Jagd auf: Start, wo Perl sagt er einen Fehler gefunden. Wenn Sie den Fehler dort nicht finden, gehen Sie eine Linie oder zwei und sehen, ob das Problem früher begonnen.

Ein letztes Wort der Beratung: Vertrauen Perl die einfachen Tippfehler für Sie zu finden (wo das möglich ist), und denken Sie daran, dass es Ihnen alle Hilfe ist was es kann, die mehr als Sie ist für viele Programmiersprachen sagen kann.

Menü