Häufige Fehler beim Programmieren

Häufige Fehler beim Programmieren
- Verwechseln von Komma und Strichpunkt: (z.B: print "egal", oder my($i ; $j), )
Manchmal braucht man Komma, manchmal Strichpunkt.
Faustregel: Strichpunkt am Ende einer Anweisung,
Komma beim Trennen von Argumenten in einer Methode.
-Berechnung durchführen, ohne das Ergebnis zu speichern
Jedes berechnete Ergebnis, dass später noch benötigt wird, muss gleich
nach der Berechnung gespeichert werden!
Beispiel: 3 + 4 + $x; #wird zwar berechnet, aber sofort wieder weggeworfen
Richtig: $erg = 3 + 4 + $x;
-Strichpunkt vergessen
Jede Anweisung endet mit einem Strichpunkt! Dieser Fehler ist einer der
Häufigsten beim Programmieren
Was allerdings wiederum nicht mit einem Strichpunkt endet sind z.B. die
Kontrollstrukturen (if, else, while, do while, do until, for, foreach)
-Zähler erhöhen in einer while-Schleife
Der Grund warum bei vielen Fällen eine For-Schleife klüger ist als eine
While-Schleife ist der, dass bei der For-Schleife ganz oben geschrieben
werden muss, dass der Zähler erhöht wird. Bei einer While Schleife muss
man das meist als letzte Zeile in der While-Schleife schreiben und vergisst
es deshalb häufig, was zu einer Endlosschleife führt.
falsches Beispiel:
while ($i < 100){
print "endlosschleife~\n";
}
-Bei Listen einzelne Elemente als Skalar-variable ansprechen (mit Dollarzeichen)
Eine Listenvariable beginnt mit einem @-Zeichen. Wenn man allerdings
ein einzelnes Element aus der Liste haben will, benutzt man, das es sich ja
um ein Skalar handelt, das $-Zeichen!!
Beispiel: nicht: @liste[0]
sondern: $liste[0]
-Falsche Klammern benutzt
runde Klammern, eckige Klammern, geschweifte Klammern. Man kann schnell
die Übersicht verlieren, wann welche Klammern verwendet werden. Prinzipiell
gilt:
geschweifte Klammern { } : stehen um ganze Programmcodes, insbesondere
bei den Kontrollstrukturen (if, while, usw.)
runde Klammern ( ) : stehen v.a. nach Systemroutinen und Subroutinen, also
z.b. print, split, length, sort, usw.
auch stehen in ihnen nach if, while und ähnlichem
die Bedingungen, z.B. if (5 >2)
eckige Klammen [ ] : braucht ihr in erster Linie, wenn ihr einzelne Elemente
von Listen ansprechen wollt. in den Klammern
steht der Index des gewünschten Elementes $liste[0]
-Bei 1 angefangen zu zählen bei dem Listenindex
Informatiker fangen bei 0 an zu zählen! Das erste Element befindet sich
somit an der Stelle 0, das zweite an Stelle 1, usw.
Somit steht das n-te Elemente an der Stelle (n-1)