O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Einführung in Perl, Sixth Edition

Book Description

Einführung in Perl ist ein sorgfältig abgestimmter Kurs für Einsteiger von drei der erfahrensten Perl-Dozenten. Mit vielen Programmierbeispielen sowie Übungen und ausgearbeiteten Lösungen zu jedem Thema zeigen die Autoren Schritt für Schritt, wie man mit Perl programmiert. Einführung in Perl ist das ideale Buch für Systemadministratoren und Programmierer, die schon nach kurzer Zeit einsetzbare Perl-Skripte schreiben wollen.

Jedes Kapitel aus Einführung in Perl, das auch in Fachkreisen Lama-Buch genannt wird wegen des auf dem Cover verwendeten Tieres, ist kurz genug, um in einer bis zwei Stunden gelesen zu werden, und endet mit einer Reihe von Übungen, die dem Leser helfen sollen, das Gelernte anzuwenden.

Das Buch behandelt Perl 5.14.

Table of Contents

  1. Einführung in Perl
  2. Vorwort
    1. Typografische Konventionen
    2. Verwendung der Codebeispiele
    3. Die Geschichte dieses Buchs
    4. Veränderungen in dieser Auflage
    5. Danksagungen
      1. Von Randal
      2. Von Tom
      3. Von brian
      4. Von uns allen
  3. 1. Einleitung
    1. Fragen und Antworten
      1. Ist dies das richtige Buch für Sie?
      2. Warum gibt es so viele Fußnoten?
      3. Was ist mit den Übungen und ihren Lösungen?
      4. Was bedeuten die Zahlen am Anfang der Übungen?
      5. Wie soll ich als Perl-Dozent vorgehen?
    2. Was bedeutet »Perl«?
      1. Warum schuf Larry Perl?
      2. Warum hat Larry nicht einfach eine andere Sprache benutzt?
      3. Ist Perl nun schwer oder leicht?
      4. Warum ist Perl so beliebt?
      5. Was geschieht in Zukunft mit Perl?
      6. Wofür ist Perl eigentlich geeignet?
      7. Wofür ist Perl nicht geeignet?
    3. Wo kann ich Perl bekommen?
      1. Was ist das CPAN?
      2. Wo bekomme ich Support für Perl?
      3. Gibt es auch noch andere Arten von Support?
      4. Was soll ich tun, wenn ich einen Bug in Perl entdecke?
    4. Wie schreibe ich ein Perl-Programm?
      1. Ein einfaches Programm
      2. Was passiert im Innern des Programms?
      3. Wie kann ich mein Perl-Programm kompilieren?
    5. Eine Perl-Blitztour
    6. Übungen
  4. 2. Skalare Daten
    1. Zahlen
      1. Alle Zahlen haben intern das gleiche Format
      2. Fließkomma-Literale
      3. Ganzzahlige Literale
      4. Nichtdezimale ganzzahlige Literale
      5. Numerische Operatoren
    2. Strings
      1. Strings in einfachen Anführungszeichen
      2. Strings in doppelten Anführungszeichen
      3. Operatoren für Strings
      4. Automatische Umwandlung zwischen Zahlen und Strings
    3. Eingebaute Warnungen
    4. Skalare Variablen
      1. Einen guten Variablennamen auswählen
      2. Skalare Zuweisung
      3. Binäre Zuweisungsoperatoren
    5. Ausgaben mit print
      1. Interpolation von skalaren Variablen in Strings
      2. Mit Codepoint Zeichen erzeugen
      3. Präzedenz und Assoziativität der Operatoren
      4. Vergleichsoperatoren
    6. Kontrollstrukturen mit if
      1. Boolesche Werte
    7. Auf Benutzereingaben reagieren
    8. Der chomp-Operator
    9. Kontrollstrukturen mit while
    10. Der Wert undef
    11. Die Funktion defined
    12. Übungen
  5. 3. Listen und Arrays
    1. Zugriff auf Arrayelemente
    2. Besondere Arrayindizes
    3. Listenliterale
      1. Die Schreibweise mit qw abkürzen
    4. Listenzuweisung
      1. pop und push
      2. shift und unshift
      3. splice
    5. Interpolation von Arrays in Strings
    6. Kontrollstrukturen mit foreach
    7. Die beliebteste Standardvariable in Perl: $_
      1. Der reverse-Operator
      2. Der sort-Operator
      3. Der each-Operator
    8. Skalarer Kontext und Listenkontext
      1. Ausdrücke, die eine Liste zurückgeben, in skalarem Kontext benutzen
      2. Ausdrücke, die Skalare erzeugen, im Listenkontext benutzen
      3. Skalaren Kontext erzwingen
    9. <STDIN> im Listenkontext
    10. Übungen
  6. 4. Subroutinen
    1. Subroutinen definieren
    2. Subroutinen aufrufen
    3. Rückgabewerte
    4. Argumente
    5. Private Variablen in Subroutinen
    6. Parameterlisten mit variabler Länge
      1. Eine bessere &max-Subroutine
      2. Leere Parameterlisten
    7. Anmerkungen zu lexikalischen (my)-Variablen
    8. Das »use strict«-Pragma
    9. Der return-Operator
      1. Das Ampersand-Zeichen weglassen
    10. Nicht-skalare Rückgabewerte
    11. Persistente private Variablen (Zustandsvariablen)
    12. Übungen
  7. 5. Eingabe und Ausgabe
    1. Eingaben von der Standardeingabe (STDIN)
    2. Eingaben vom Diamantoperator
    3. Aufrufende Argumente
    4. Ausgaben auf STDOUT
    5. Formatierte Ausgaben mit printf
      1. Arrays und printf
    6. Datei-Handles
    7. Datei-Handles öffnen
      1. binmode auf Datei-Handles anwenden
      2. Schlechte Datei-Handles
      3. Datei-Handles schließen
    8. Schwerwiegende Fehler mit die abfangen
      1. Warnhinweise ausgeben mit warn
      2. Automatisches die-en
    9. Datei-Handles benutzen
      1. Das Standard-Datei-Handle für Ausgaben ändern
    10. Standard-Datei-Handles erneut öffnen
    11. Ausgaben mit say
      1. Datei-Handles in Skalaren
    12. Übungen
  8. 6. Hashes
    1. Was ist ein Hash?
      1. Warum einen Hash benutzen?
    2. Zugriff auf Hash-Elemente
      1. Der Hash als Ganzes
      2. Hash-Zuweisung
      3. Der große Pfeil
    3. Hash-Funktionen
      1. Die Funktionen keys und values
      2. Die Funktion each
    4. Typische Anwendung für einen Hash
      1. Die Funktion exists
      2. Die Funktion delete
      3. Interpolation von Hash-Elementen
    5. Der %ENV-Hash
    6. Übungen
  9. 7. Die Welt der regulären Ausdrücke
    1. Was sind reguläre Ausdrücke?
    2. Einfache Mustererkennung
      1. Unicode-Eigenschaften
      2. Über Metazeichen
      3. Einfache Quantifier
      4. Muster gruppieren
      5. Alternativen
    3. Zeichenklassen
      1. Abkürzungen in Zeichenklassen
      2. Negierte Abkürzungen
    4. Übungen
  10. 8. Mustersuche mit regulären Ausdrücken
    1. Mustervergleiche mit m//
    2. Das Standardverhalten von regulären Ausdrücken ändern
      1. Groß- und Kleinschreibung ignorieren mit /i
      2. Ein beliebiges Zeichen finden mit /s
      3. Leerzeichen einfügen mit /x
      4. Modifier kombinieren
      5. Eine Lesart für Zeichen auswählen
      6. Weitere Option-Modifier
    3. Muster verankern
      1. Wörter verankern
    4. Der Bindungsoperator =~
    5. Variableninterpolation in Suchmustern
    6. Die Speichervariablen
      1. Persistenz des Speichers
    7. Runde Klammern ohne Speicherfunktion
      1. Benannte Speichervariablen
      2. Die automatischen Speichervariablen
    8. Allgemeine Quantifier
    9. Präzedenz
      1. Beispiele für Präzedenz
      2. Und es gibt noch mehr ...
    10. Ein Programm zum Testen von Mustern
    11. Übungen
  11. 9. Textbearbeitung mit regulären Ausdrücken
    1. Ersetzungen mit s///
      1. Globales Ersetzen mit /g
      2. Andere Begrenzungszeichen
      3. Ersetzungsmodifier
      4. Der Bindungsoperator
      5. Nichtdestruktive Ersetzung
      6. Groß- und Kleinschreibung ändern
    2. Der split-Operator
    3. Die join-Funktion
    4. m// im Listenkontext
    5. Weitere mächtige reguläre Ausdrücke
      1. Nicht-gierige Quantifier
      2. Treffer in mehrzeiligem Text finden
      3. Mehrere Dateien auf einmal aktualisieren
      4. Editieren an Ort und Stelle von der Kommandozeile aus
    6. Übungen
  12. 10. Weitere Kontrollstrukturen
    1. Kontrollstrukturen mit unless
      1. else und unless kombinieren
    2. Kontrollstrukturen mit until
    3. Ausdrücke modifizieren
    4. Nackte Blöcke als Kontrollstrukturen
    5. Die elsif-Klausel
    6. Autoinkrement und Autodekrement
      1. Der Wert von Autoinkrement-Operationen
    7. Kontrollstrukturen mit for
      1. Die geheime Verbindung zwischen foreach und for
    8. Schleifen kontrollieren
      1. Der last-Operator
      2. Der next-Operator
      3. Der redo-Operator
      4. Benannte Blöcke
    9. Der Bedingungsoperator ?:
    10. Logische Operatoren
      1. Der Wert von Short-Circuit-Operatoren
      2. Der Definiert-oder-Operator
      3. Kontrollstrukturen mit teilweise auswertenden Operatoren
    11. Übungen
  13. 11. Perl-Module
    1. Module finden
    2. Module installieren
      1. Eigene Verzeichnisse verwenden
    3. Einfache Module benutzen
      1. Das Modul File::Basename
      2. Nur bestimmte Funktionen eines Moduls verwenden
      3. Das Modul File::Spec
      4. Path::Class
      5. CGI.pm
      6. Datenbanken und DBI
      7. Datum und Uhrzeit
    4. Übungen
  14. 12. Dateitests
    1. Dateitest-Operatoren
      1. Mehrere Attribute einer Datei auf einmal überprüfen
      2. Dateitests stapeln
    2. Die Funktionen stat und lstat
    3. Die Funktion localtime
    4. Bitorientierte Operatoren
      1. Mit Bitstrings arbeiten
    5. Übungen
  15. 13. Zugriff auf Verzeichnisse
    1. Im Verzeichnisbaum navigieren
    2. Globbing
    3. Eine alternative Globbing-Syntax
    4. Verzeichnishandles
    5. Verzeichnisse rekursiv bearbeiten
    6. Dateien und Verzeichnisse bearbeiten
    7. Dateien löschen
    8. Dateien umbenennen
    9. Links und Dateien
    10. Anlegen und Entfernen von Verzeichnissen
    11. Zugriffsrechte ändern
    12. Besitzrechte ändern
    13. Zeitstempel ändern
    14. Übungen
  16. 14. Strings und Sortierfunktionen
    1. Substrings finden mit index
    2. Substrings manipulieren mit substr
    3. Daten mit sprintf formatieren
      1. »Geld«-Werte mit sprintf formatieren
      2. Nicht-Dezimalzahlen interpretieren
    4. Fortgeschrittenes Sortieren
      1. Hashes abhängig von den Werten sortieren
      2. Nach mehreren Kriterien sortieren
    5. Übungen
  17. 15. Intelligente Vergleiche und given-when
    1. Der Operator für intelligente Vergleiche
    2. Präzedenz bei intelligenten Vergleichen
    3. Die given-Anweisung
      1. »Dumme« Vergleiche
    4. when mit vielen Elementen verwenden
    5. Übungen
  18. 16. Prozessverwaltung
    1. Die Funktion system
      1. Die Shell vermeiden
    2. Die Funktion exec
    3. Umgebungsvariablen
    4. Backquotes zum Abfangen von Ausgaben benutzen
      1. Backquotes im Listenkontext benutzen
    5. Externe Prozesse mit IPC::System::Simple
    6. Prozesse als Datei-Handles
    7. Ganz tief unten mit fork
    8. Signale schicken und empfangen
    9. Übungen
  19. 17. Fortgeschrittene Perl-Techniken
    1. Fehler mit eval abfangen
      1. Fortgeschrittene Fehlerbehandlung
      2. autodie
    2. Elemente mit grep aus einer Liste filtern
    3. Listenelemente umwandeln mit map
    4. Spezielle Werkzeuge für Listen
    5. Slices
      1. Array-Slices
      2. Hash-Slices
    6. Übung
  20. A. Lösungen zu den Übungen
    1. Lösungen zu den Übungen in Kapitel 1
    2. Lösungen zu den Übungen in Kapitel 2
    3. Lösungen zu den Übungen in Kapitel 3
    4. Lösungen zu den Übungen in Kapitel 4
    5. Lösungen zu den Übungen in Kapitel 5
    6. Lösungen zu den Übungen in Kapitel 6
    7. Lösungen zu den Übungen in Kapitel 7
    8. Lösungen zu den Übungen in Kapitel 8
    9. Lösungen zu den Übungen in Kapitel 9
    10. Lösungen zu den Übungen in Kapitel 10
    11. Lösungen zu den Übungen in Kapitel 11
    12. Lösungen zu den Übungen in Kapitel 12
    13. Lösungen zu den Übungen in Kapitel 13
    14. Lösungen zu den Übungen in Kapitel 14
    15. Lösungen zu den Übungen in Kapitel 15
    16. Lösungen zu den Übungen in Kapitel 16
    17. Lösung zu der Übung in Kapitel 17
  21. B. Über das Lama hinaus
    1. Weiterführende Dokumentation
    2. Reguläre Ausdrücke
    3. Packages
    4. Die Funktionalität von Perl erweitern
      1. Bibliotheken
      2. Module
      3. Module finden und installieren
      4. Eigene Module schreiben
    5. Datenbanken
      1. Direkter Zugriff auf Systemdatenbanken
      2. Zugriff auf textbasierte (»Flatfile«) Datenbanken
    6. Weitere Operatoren und Funktionen
      1. Transliterationen mit tr///
      2. Here-Dokumente
    7. Mathematik
      1. Fortgeschrittene mathematische Funktionen
      2. Abstrakte und komplexe Zahlen
      3. Große Zahlen und Zahlen hoher Präzision
    8. Listen und Arrays
      1. map und grep
    9. Bits und Bytes
    10. Formate
    11. Netzwerke und Interprozess-Kommunikation (IPC)
      1. System V IPC
      2. Sockets
    12. Sicherheit
    13. Debugging
    14. Kommandozeilenoptionen
    15. Eingebaute Variablen
    16. Syntaxerweiterungen
    17. Referenzen
      1. Komplexe Datenstrukturen
      2. Objektorientierte Programmierung
      3. Anonyme Subroutinen und Closures
    18. Gebundene Variablen
    19. Operatoren überladen
    20. Dynamisches Laden
    21. Einbetten
    22. Andere Sprachen nach Perl konvertieren
    23. find-Kommandozeilen nach Perl konvertieren
    24. Kommandozeilenoptionen in Ihren Programmen
    25. Eingebettete Dokumentation
    26. Weitere Möglichkeiten, Datei-Handles zu öffnen
    27. Threads und Forking
    28. Grafische Benutzerschnittstellen (GUIs)
    29. Und mehr ...
  22. C. Das kleine Unicode-ABC
    1. Unicode
    2. UTF-8 & Co.
    3. Alle Beteiligten auf Augenhöhe bringen
    4. Extravagante Zeichen
      1. Noch extravagantere Zeichen
    5. Unicode in Perl verarbeiten
      1. Unicode im Quelltext verwenden
      2. Noch extravagantere Zeichen mit Namen
      3. STDIN oder STDERR lesen bzw. schreiben
      4. Dateien schreiben und lesen
      5. Mit Kommandozeilenargumenten umgehen
      6. Mit Datenbanken umgehen
    6. Weiterführende Literatur
  23. D. Über die Autoren
  24. E. Über den Übersetzer
  25. Stichwortverzeichnis
  26. Kolophon