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

Programmieren mit Perl

Book Description

Perl ist eine freie und leistungsfähige Programmiersprache, die sich seit ihrem Debüt im Jahr 1987 rasant verbreitet hat. Sie hat sich als höhere Programmiersprache zur plattformübergreifenden Entwicklung portabler Tools und als zuverlässiges Werkzeug für verschiedenste Aufgaben bewährt. Besonders nützlich ist Perl für Systemadministration und Webprogrammierung. Perl wird bei praktisch jeder Unix-Variante (einschließlich Linux) als Standardkomponente mitgeliefert, ist aber auch unter Microsoft Windows verbreitet und für nahezu jedes andere Betriebssystem verfügbar, darunter Amiga, BeOS, VMS, MVS und MacOS.

Programmieren mit Perl – überall liebevoll nur das „Kamel-Buch“ genannt – ist nicht einfach nur ein Buch über Perl. Es bietet auch einen einzigartigen und zuweilen eigenwilligen Einblick in die Sprache und ihre Kultur, wie man ihn nur von den Autoren erwarten kann. Larry Wall ist der Erfinder von Perl und vermittelt seine besondere Perspektive auf die Entwicklung von Perl. Tom Christiansen hat mit seinen Büchern, Schulungen und Beiträgen zur Perl-Dokumentation viel zum Verständnis und zur Verbreitung von Perl beigetragen. Jon Orwant ist Herausgeber des Perl Journal, das sich als Forum für neue Entwicklungen rund um Perl etabliert hat.

Die vorliegende 2. Auflage behandelt Release Perl 5.6 und wurde vollständig neu strukturiert und um zahllose Beispiele erweitert. Themenbereiche wie die objektorientierte Programmierung und reguläre Ausdrücke wurden von Grund auf überarbeitet. Gleichzeitig wurden viele neue Kapitel hinzugefügt, zum Beispiel zu Unicode, POD, Profiling, Threading, Kompilierung und Perl-Interna.

Teils Bibel, teils Enzyklopädie, teils Almanach ist dies das grundlegende Buch zu Perl.

Table of Contents

  1. Programmieren mit Perl
    1. Vorwort von Larry Wall zur deutschen Übersetzung der 2. Auflage
    2. Vorwort
      1. Das Streben nach Glück
      2. Was in dieser Auflage neu ist
      3. Die Standarddistribution
      4. Online-Dokumentation
      5. Offline-Dokumentation
      6. Weitere Ressourcen
      7. In diesem Buch verwendete Konventionen
      8. Kamel online
      9. Danksagungen
    3. I. Perl im Überblick
      1. 1. Perl im Überblick
        1. Einführung
        2. Natürliche und künstliche Sprachen
        3. Ein Beispiel mit Noten
        4. Dateihandles
        5. Operatoren
        6. Kontrollstrukturen
        7. Reguläre Ausdrücke
        8. Verarbeitung von Listen
        9. Was Sie nicht wissen, tut Ihnen nicht (besonders) weh
    4. II. Perl im Detail
      1. 2. Elementares
        1. Atome
        2. Moleküle
        3. Integrierte Datentypen
        4. Variablen
        5. Namen
        6. Skalare Werte
        7. Kontext
        8. Listenwerte und Arrays
        9. Hashes
        10. Typeglobs und Dateihandles
        11. Eingabeoperatoren
      2. 3. Unäre und binäre Operatoren
        1. Terme und Listenoperatoren (nach links)
        2. Der Arrow-Operator
        3. Autoinkrement und Autodekrement
        4. Potenzierung
        5. Ideografische unäre Operatoren
        6. Bindungsoperatoren
        7. Multiplikative Operatoren
        8. Additive Operatoren
        9. Shift-Operatoren
        10. Benannte unäre und Datei-Testoperatoren
        11. Relationale Operatoren
        12. Gleichheitsoperatoren
        13. Bitorientierte Operatoren
        14. Logische (Short-Circuit-)Operatoren (im C-Stil)
        15. Bereichsoperator
        16. Konditionaloperator
        17. Zuweisungsoperatoren
        18. Kommaoperatoren
        19. Listenoperatoren (nach rechts)
        20. Logisches UND, ODER, NICHT, EXKLUSIV-ODER
        21. C-Operatoren, die es bei Perl nicht gibt
      3. 4. Anweisungen und Deklarationen
        1. Einfache Anweisungen
        2. Zusammengesetzte Anweisungen
        3. if- und unless-Anweisungen
        4. Schleifenanweisungen
        5. Freistehende Blöcke
        6. goto
        7. Globale Deklarationen
        8. Deklarationen mit eingeschränktem Geltungsbereich (Scoping)
        9. Pragmas
      4. 5. Pattern-Matching
        1. Das Bestiarium regulärer Ausdrücke
        2. Pattern-Matching-Operatoren
        3. Metazeichen und Metasymbole
        4. Zeichenklassen
        5. Quantifier
        6. Positionen
        7. Capturing und Clustering
        8. Alternierung
        9. Die Kontrolle behalten
        10. Trickreiche Muster
      5. 6. Subroutinen
        1. Syntax
        2. Semantiken
        3. Übergabe von Referenzen
        4. Prototypen
        5. Subroutinen-Attribute
      6. 7. Formate
        1. Formatvariablen
        2. Fußzeilen
      7. 8. Referenzen
        1. Was ist eine Referenz?
        2. Referenzen erzeugen
        3. Verwendung von harten Referenzen
        4. Symbolische Referenzen
        5. Quoting, eckige und geschweifte Klammern
      8. 9. Datenstrukturen
        1. Arrays von Arrays
        2. Hashes von Arrays
        3. Arrays von Hashes
        4. Hashes von Hashes
        5. Hashes von Funktionen
        6. Kompliziertere Datenstrukturen
        7. Sichern von Datenstrukturen
      9. 10. Pakete
        1. Symboltabellen
        2. Autoloading
      10. 11. Module
        1. Module verwenden
        2. Module erzeugen
        3. Eingebaute Funktionen überschreiben
      11. 12. Objekte
        1. Ein kurzer Auffrischungskurs zur objektorientierten Programmierung
        2. Objekte bei Perl
        3. Aufruf von Methoden
        4. Konstruktion von Objekten
        5. Vererbung von Klassen
        6. Instanzdestruktoren
        7. Instanzdaten verwalten
        8. Verwaltung von Klassendaten
        9. Zusammenfassung
      12. 13. Überladen
        1. Das overload-Pragma
        2. Overload-Handler
        3. Überladbare Operatoren
        4. Der Copy-Konstruktor (=)
        5. Wenn ein Overload-Handler fehlt (nomethod und fallback)
        6. Konstanten überladen
        7. Öffentliche Überladefunktionen
        8. Vererbung und Überladung
        9. Überladung zur Laufzeit
        10. Diagnose
      13. 14. Variablen und tie
        1. Tie und Skalare
        2. Arrays und tie
        3. Hashes und tie
        4. Dateihandies und tie
        5. Eine subtile untie-Falle
        6. Tie-Module im CPAN
    5. III. Perl als Technologie
      1. 15. Unicode
        1. Zeichen setzen
        2. Effekte der Zeichensemantik
        3. Achtung, bei der Arbeit
      2. 16. Interprozeß-Kommunikation
        1. Signale
        2. Dateien
        3. Pipes
        4. System VIPC
        5. Sockets
      3. 17. Threads
        1. Das Prozeßmodell
        2. Das Thread-Modell
      4. 18. Kompilierung
        1. Der Lebenszyklus eines Perl-Programms
        2. Ihren Code kompilieren
        3. Ihren Code ausführen
        4. Compiler-Backends
        5. Codegeneratoren
        6. Code-Entwicklungstools
        7. Avantgarde-Compiler, Retro-Interpreter
      5. 19. Die Kommandozeilen-Schnittstelle
        1. Befehlsverarbeitung
        2. Umgebungsvariablen
      6. 20. Der Perl-Debugger
        1. Verwendung des Debuggers
        2. Debuggerbefehle
        3. Anpassung des Debuggers
        4. Unbeaufsichtigte Ausführung
        5. Debugger-Unterstützung
        6. Der Perl-Profiler
      7. 21. Internes und Externes
        1. Wie Perl arbeitet
        2. Interne Datentypen
        3. Perl erweitern (C von Perl aus nutzen)
        4. Perl einbetten (Perl von C aus nutzen)
        5. Die Moral von der Geschicht'
    6. IV. Perl als Kultur
      1. 22. CPAN
        1. Das CPAN-Verzeichnis modules
        2. CPAN-Module nutzen
        3. CPAN-Module erzeugen
      2. 23. Sicherheit
        1. Behandlung unsicherer Daten
        2. Behandlung von Timing-Problemen
        3. Behandlung unsicheren Codes
      3. 24. Übliche & Üble Praktiken
        1. Häufige Schnitzer bei Neulingen
        2. Effizienz
        3. Programmieren mit Stil
        4. Flüssiges Perl
        5. Programmgenerierung
      4. 25. Portables Perl
        1. Zeilenvorschübe (Newlines)
        2. Byteordnung und Zahlenlänge
        3. Dateien und Dateisysteme
        4. Interaktion mit dem System
        5. Interprozeß-Kommunikation (IPC)
        6. Externe Subroutinen (XS)
        7. Standardmodule
        8. Daten und Zeiten
        9. Internationalisierung
        10. Stil
      5. 26. Plain Old Documentation
        1. POD in a Nutshell
        2. POD-Übersetzer und Module
        3. Entwicklung eigener POD-Tools
        4. POD-Fallstricke
        5. Dokumentation Ihrer Perl-Programme
      6. 27. Perl-Kultur
        1. Geschichte zum Anfassen
        2. Perl-Lyrik
    7. V. Referenz-Material
      1. 28. Spezialvariablen
        1. Spezialvariablen nach Typ
        2. Spezialvariablen in alphabetischer Reihenfolge
      2. 29. Funktionen
        1. Perl-Funktionen nach Kategorie
        2. Perl-Funktionen in alphabetischer Reihenfolge
      3. 30. Die Perl-Standardbibliothek
        1. Bibliothekswissenschaften
        2. Eine Tour durch die Perl-Bibliothek
      4. 31. Pragma-Module
        1. use attributes
        2. use autouse
        3. use base
        4. use blib
        5. use bytes
        6. use charnames
        7. use constant
        8. Die Grenzen von use constant
        9. use diagnostics
        10. use fields
        11. use filetest
        12. usefiletest access
        13. use integer
        14. use lib
        15. use locale
        16. use open
        17. use overload
        18. use re
        19. use sigtrap
        20. use strict
        21. use subs
        22. use vars
        23. use warnings
      5. 32. Standardmodule
        1. Auflistung nach Typen
        2. Benchmark
        3. Carp
        4. CGI
        5. CGI::Carp
        6. Class::Struct
        7. Config
        8. CPAN
        9. Cwd
        10. Data::Dumper
        11. DB_File
        12. Dumpvalue
        13. English
        14. Errno
        15. Exporter
        16. Fatal
        17. Fcntl
        18. File::Basename
        19. File::Compare
        20. FilenCopy
        21. File::Find
        22. File::Glob
        23. File::Spec
        24. File::stat
        25. File::Temp
        26. FileHandle
        27. Getopt::Long
        28. Getopt::Std
        29. IO::Socket
        30. IPC::Open2
        31. IPC::Open3
        32. Math::BigInt
        33. Math::Complex
        34. Math::Trig
        35. Net::hostent
        36. POSIX
        37. Safe
        38. Socket
        39. Symbol
        40. Sys::Hostname
        41. Sys::Syslog
        42. Term::Cap
        43. Text::Wrap
        44. Timer::Local
        45. Time::localtime
        46. User::grent
        47. User::pwent
      6. 33. Diagnosemeldungen
    8. A. Glossar
    9. Über den Übersetzer
    10. Kolophon