Perl-Programmierung: Projektdefinition
Zusammenfassung des Projekts
[Bearbeiten]Zielgruppe
[Bearbeiten]Neueinsteiger sollen hier einen einfachen Einstieg in die Programmiersprache Perl finden. Fachleute haben andere Quellen als Nachschlagewerk (z.B. Perldoc, CPAN, Perlwiki, etc.)
Lernziele
[Bearbeiten]Dieser Kurs ist dafür geschrieben, die ganze Welt der Perl-Programmierung in Theorie und Praxis vorzustellen.
Ein Motto von Perl lautet: "There is more than one way to do it". Nach der Lektüre sollte der Leser für jede denkbare Teilaufgabe mindestens einen Weg kennen, sie durchzuführen.
Buchpatenschaft / Ansprechperson
[Bearbeiten]Das Buch hat zur Zeit keinen Hauptautor und kann gerne übernommen werden.
- Co-Autoren:
- Giftnuss, Sebastian Knapp < giftnuss a.t netscape.net >
- Glauschwuffel
- Lichtkind
- MGla
- Turelion
- Ap0calypse 11:18, 16. Jul. 2007 (CEST)
Sind Co-Autoren gegenwärtig erwünscht?
[Bearbeiten]Co-Autoren sind ausdrücklich erwünscht.
Richtlinien für Co-Autoren:
[Bearbeiten]Da es in Perl durch seine Möglichkeiten der Syntaxgestaltung sehr leicht möglich ist, extrem unleserlichen Code zu produzieren, sollte eine gewisse Einheitlichkeit an den Tag gelegt werden, um es dem Leser einfacher zu machen, den Quelltext zu verstehen. Dies gilt für die Art der Klammerung, Variablendeklarationen, usw. Viele dieser Richtlinien stammen aus dem Buch "Perl Best Practices" von Damian Conway und gelten als Standards für guten Perl-Code. Natürlich steht es jedem frei, sich diese Regeln anzueignen, aber wenigstens im Laufe dieses Buches sollten sie verwendet werden.
Klammerung
[Bearbeiten]Die Richtlinie zur Klammerung innerhalb des Buches ist der K&R-Stil. Er hat gegenüber anderen Klammerungsstilen den Vorteil, dass er eine Zeile spart, dabei die Lesbarkeit der Schleife oder Anweisung jedoch nicht beeinträchtigt.
Beispiel ( K&R-Stil ):
for (1 .. 10) {
print $_, "\n";
}
Im Gegensatz zu diesem Beispiel, hier ein Beispiel mit dem BSD-Stil:
Beispiel ( BSD-Stil ):
for (1 .. 10)
{
print $_, "\n";
}
Zwar ist der Code hier mindestens gleich gut zu lesen, aber er braucht eben eine Zeile mehr. Und Zeilen sind kostbar. :) Diese Richtlinie gilt auch bei der Deklaration von Listen und Hashes.
Beispiel-Deklaration ( K&R-Stil ):
my @list = (
'blubb',
'blibb',
'blebb'
);
my %hash = (
'id1' => 'name1',
'id2' => 'name2',
'id3' => 'name3',
'id4' => 'name4'
);
Bei kurzen Listen ist dies natürlich nicht erforderlich, aber sobald eine Liste die kritische Masse erreicht hat, in der sie nicht mehr in eine Zeile passt ( > 80 Zeichen ) sollte sie in der oben angeführten Form geschrieben werden um es dem Leser verständlicher zu machen.
Einrückungen
[Bearbeiten]Generell sollte für jede Stufe eine Einrückung von 4 Leerzeichen verwendet werden. Das ist der Kompromiss zwischen den 8 und den 2 Leerzeichen, die sonst oft Anwendungen finden. Damit hat man genug Übersicht um sich zurechtzufinden und muss trotzdem kein Augentennis spielen wenn man zwischen den Zeilen herumspringt.
Beispiel:
if (1 == 1) {
print "1 ist 1", "\n";
}
Operatoren und Zuweisungen
[Bearbeiten]Um eine Zuweisung übersichtlich zu halten, ist es zu begrüßen, wenn sie den Elementen der Zuweisung ein wenig Platz lassen. So ist folgende Zuweisung
my $var=(1+3/5)*(6-3);
erheblich schwerer zu lesen als
my $var = (1 + 3 / 5) * (6 - 3);
Zwar benötigt man so mehr Platz, aber um die Übersichtlichkeit zu gewähren, ist das ein verschmerzliches Übel.
use strict; use warnings;
[Bearbeiten]Dieses Buch richtet sich an Anfänger. Gerade diesen sollte man zeigen, wie man gefährliches Perl vermeidet. Dazu zählt der Einsatz von Warnungen und 'strictures'.
Die beiden Pragmas use strict;
und use warnings;
sollten am Anfang eines jeden Beispiels stehen, das eigenständig lauffähig ist. Bei nicht eigenständigen Code-Fragmenten sind sie nicht unbedingt nötig, aber diese sollten durch Verwendung von "..." oder explizit durch Perl-Kommentare als unvollständig gekennzeichnet werden. Darüber hinaus sollten Code-Fragmente nur selten verwendet werden, der Schwerpunkt sollte auf vollständigen Programmen liegen.
perl -w
ist antik und soll vermieden werden, s. perllexwarn, What's wrong with -w and $^W
Formatierungen
[Bearbeiten]- Bei Codestücken, die code-zeilen-nummerierung mitnehmen, da es dann leichter wird sich zurechzufinden, wenn man sich auf etwas bezieht ( nur wenns längere Beispiele sind, bei Einzeilern ist das sinnfrei ;) )
- Falls im Text Funktionen/Schlüsselwörter angesprochen werden, diese so herauszuheben: <code>while</code> ->
while
um sie leichter erkennbar zu machen - Variablen, die im Beispiel vorkommen und im Text erläutert werden fett zu halten: '''$testvar''' -> $testvar
- Im Text erwähnte CPAN-Module bitte als Links auf die CPAN Seite formatieren.
Projektumfang und Abgrenzung zu anderen Wikibooks
[Bearbeiten]Themenbeschreibung
[Bearbeiten]Aufbau und Bearbeitungsstatus des Buches
[Bearbeiten]Für Neugierige hier zuerst ein kurzer Überblick über den Aufbau. Er ist auch für Praktiker und Fortgeschrittene nützlich, damit sie erfahren, welche Kapitel sie überspringen können.
Die ersten Kapitel behandeln Perl theoretisch. Mit wichtigen Grundinformationen beginnend wird es immer spezifischer und zum Ende hin auch ein wenig philosophisch, so dass jeder für sich entscheiden kann, wann er sich bereit für die Praxis fühlt und den Rest dieses Kapitels überspringen möchte.
Der zweite Abschnitt ist der Grundkurs, in dem es um Variablen, Funktionen, Schleifen und etwas Spielerei mit Dateien und Texten geht.
- Kurzvorstellung
- Das Richtige für mich?
- Eintauchen in die Perlenwelt
- Geschichte einer Skriptsprache
- Larry und die Perl-Kultur
- „Hello World!“
- Variablen
- Variablenklassifizierung und Fallbeispiele
- Spezialvariablen
- Einfache Ein-/Ausgabe
- Dateien
- Operatoren
- Kontrollstrukturen
- Subroutinen
- Programmierstil und -struktur
- Gültigkeitsbereich von Variablen
- Reguläre Ausdrücke
- Objektorientiert Programmieren in Perl
- Vordefinierte Variablen
- GUI in Perl
- Web-Entwicklung in Perl
- DBI: Datenbankzugriffe in Perl
- Benutzen der CPAN-Bibliotheken
Beispiele
- Funktionsreferenz
- Nützliche Module
- Schnellreferenz
- Webseiten und mehr
- Buchtipps
- Glossar
- Installation
Wikibooks.org
Liste der verwendeten Vorlagen: Perl-Programmierung: Vorlagen