Zusammenfassung des Projekts

Zielgruppe

Neueinsteiger sollen hier einen einfachen Einstieg in die Programmiersprache Perl finden. Fachleute haben andere Quellen als Nachschlagewerk (z.B. Perldoc, CPAN, Perlwiki, etc.)


Lernziele

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

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?

Co-Autoren sind ausdrücklich erwünscht.


Richtlinien für Co-Autoren:

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

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

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

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;

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

  • 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

Themenbeschreibung

Aufbau und Bearbeitungsstatus des Buches

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

Vorwort

Einführung

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

Der Einstieg

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

Fortgeschrittene Themen

Programmierstil und -struktur
Gültigkeitsbereich von Variablen
Reguläre Ausdrücke
Objektorientiert Programmieren in Perl
Vordefinierte Variablen

Perl-Schnittstellen

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

Beispiele

Einfache Beispiele für den Einstieg

Anhänge

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

Wikibooks.org

Perl-Programmierung/ Druckversion



Liste der verwendeten Vorlagen: Perl-Programmierung: Vorlagen


This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.