Perl-Programmierung: Projektdefinition

Aus Wikibooks


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:

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.

Formales 00% fertig

Vorwort 00% fertig

Einführung 00% fertig

Kurzvorstellung 00% fertig
Das Richtige für mich? 00% fertig
Eintauchen in die Perlenwelt 00% fertig
Geschichte einer Skriptsprache 00% fertig
Larry und die Perl-Kultur 00% fertig

Der Einstieg 00% fertig

„Hello World!“ 00% fertig
Variablen 00% fertig
Variablenklassifizierung und Fallbeispiele 00% fertig
Spezialvariablen 00% fertig
Einfache Ein-/Ausgabe 00% fertig
Dateien 00% fertig
Operatoren 00% fertig
Kontrollstrukturen 00% fertig
Subroutinen 00% fertig

Fortgeschrittene Themen 00% fertig

Programmierstil und -struktur 00% fertig
Gültigkeitsbereich von Variablen 10% fertig
Reguläre Ausdrücke 30% fertig
Objektorientiert Programmieren in Perl 00% fertig
Vordefinierte Variablen 00% fertig

Perl-Schnittstellen 00% fertig

GUI in Perl 00% fertig
Perl/TK 00% fertig
Perl/QT 00% fertig
Perl/GTK 00% fertig
Perl/wxWidgets 00% fertig
Web-Entwicklung in Perl 00% fertig
CGI 00% fertig
mod_perl: Perl-Beschleunigung unter Apache 00% fertig
DBI: Datenbankzugriffe in Perl 00% fertig
Benutzen der CPAN-Bibliotheken 00% fertig

Beispiele

Einfache Beispiele für den Einstieg 00% fertig

Anhänge 00% fertig

Funktionsreferenz 00% fertig
Nützliche Module 00% fertig
Schnellreferenz 00% fertig
Webseiten und mehr 00% fertig
Buchtipps 00% fertig
Glossar 00% fertig
Installation 00% fertig

Wikibooks.org

Perl-Programmierung/ Druckversion 00% fertig



Liste der verwendeten Vorlagen: Perl-Programmierung: Vorlagen