Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen 14 2.1 Variablen 14 2.2 Spezial-Variablen 16 2.3 Kontext 16 2.4 Wahrheitswert 18 3 Skalare 20 3.1 Zahlen 20 3.2 Operatoren 24 3.3 Mathematische Funktionen 32 3.4 Strings 33 3.5 HERE-Dokumente 60 4 Listen und Arrays 64 4.1 Eigenschaften von Listen 64 4.2 Eigenschaften von Arrays 68 4.3 Array-Manipulation 80 4.4 Hinzufügen bzw. Entfernen von Array- Elementen 93 4.5 Bereichs-Operator 104 4.6 Vordefinierte Arrays 104 5 Hashes 108 5.1 Unterschiede zu Arrays 110 5.2 Hash-Variable 111 5.3 Funktionen für Hashes 119 5.4 Manipulation eines Hashs 123 6 Kontrollstrukturen und Bedingungen 128 6.1 Bedingungen 130 6.2 Schleifen 144 6.3 Schleifen-Kontrollkommandos 155 7 Funktionen 162 7.1 Definition einer Funktion 163 7.2 Deklaration, Definition und Prototypen 164 7.3 Aufruf von Funktionen 166 7.4 Call-by-value 176 7.5 Implizite Referenzen 177
7.6 Rekursion 184 7.7 Packages 185 7.8 Module 187 8 Referenzen 190 8.1 Speicherverwaltung 190 8.2 Mechanismen von Referenzen 194 8.3 Erzeugen von Referenzen 195 8.4 Die Funktion ref() 204 8.5 Dereferenzierung 205 8.6 Autovivikation 215 8.7 Anonyme Referenzen 216 8.8 Komplexe Datenstrukturen 222 9 Dateien und Verzeichnisse 236 9.1 Standard Ein-/Ausgabe 237 9.2 Lesen von Daten aus Dateien 239 9.3 Schreiben (Überschreiben) von Daten in Dateien 244 9.4 Anhängen von Daten an eine Datei 246 9.5 Dateitest-Operatoren 248 9.6 Manipulation von Dateien 252 9.7 Zugriff auf Verzeichnisse 255 9.8 Manipulation von Verzeichnissen 262 10 Reguläre Ausdrücke 266 10.1 Pattern Matching 267 10.2 Metazeichen 270 10.3 Verkettung 274 10.4 Beliebiges Zeichen 275 10.5 Alternativen 276 10.6 Ankerpunkte 277 10.7 Zeichenwiederholung mit Quantifizierer 281 10.8 Gruppierung von Ausdrücken 287 10.9 Gruppierung und numerische Rückverweise 288 10.10 Zeichenklassen 290 10.11 Erweiterte reguläre Ausdrücke 293 10.12 Transliteration 294 10.13 Substitution 298 11 Objektorientierte Programmierung (OOP) 302
11.1 Klassenmethode 302 11.2 Instanzmethoden 305 12 Perl-CGI 314 12.1 Hypertext Markup Language (HTML/HTM) 315 12.2 Interaktive und dynamische Webseiten mit Perl 317 12.3 Bilderstellung mit dem Modul GD 333 13 Grafische Oberflächen mit Tk 340 13.1 Klassen und Objekte im Tk-Package 340 13.2 Die Schalter-Widgets 343 13.3 Das Label-Widget und die Texteingabe-Widgets 350 13.4 Die Bedienungs-Widgets 356 13.5 Die Container-Widgets 361 13.6 Das Canvas-Widget 364 14 Uhrzeit und Datum 366 14.1 Berechnung der Uhrzeit 366 14.2 Berechnung des Datums 371 15 Formate 382 15.1 Textfelder 383 15.2 Numerische Felder 384 15.3 Füll-Felder 385 15.4 Seitenkopf-Format 388 15.5 Formatierte Ausgaben 391 16 Dokumentation 394 Anhang 398 A 1 Perl installieren 398 A 2 Spezial-Variablen 399 A 3 Perl 6 404 Literaturverzeichnis 406 Weitere Hilfsmittel 407 Stichwortverzeichnis 410
12 Perl-CGI (S. 313-314) Dieses Kapitel befasst sich damit, wie Perl im Zusammenhang mit Web- Servern nicht nur für übliche Aufrufe von statischen H yper t ext M arkup L anguage (HTML)-Seiten genutzt wird, sondern wie mit Hilfe des C ommon G ateway I nterface (CGI) sich eine interaktive Kommunikation mit Anwendern durchführen lässt, z. B. Informations-Formulare, Feedback- Formulare zu Lerninhalten, Imagemaps, die das Anklicken von Grafiken erlauben, Zähler, die die Anzahl der Benutzer angeben usw. Das Common Gateway Interface stellt eine Schnittstelle zur Datenübertragung von einem Internet-Browser zu einem Web-Server dar. Über diese Schnittstelle können verschiedene Daten an den Server übertragen und verarbeitet werden. Es können beliebige HTML-Seiten (Formulare) als grafische Oberflächen für Perl-Programme (CGI-Skript) verwendet werden. Damit ist die grafische Oberfläche stets getrennt vom eigentlichen Perl-Programm. Im Vergleich zu anderen Sprachen, wie z. B. C/ C++ oder Java, eignet sich die Kombination CGI/Perl besonders, da sie plattformübergreifend verfügbar und hervorragend für die Manipulation von Texten einzusetzen ist. Außerdem ist es auch äußerst einfach, ansprechende grafisch gestaltete Seiten damit zu erstellen. Das Kommunikationsschema zwischen Web-Browser und Perl (CGI-Skript) einerseitzs und die Mittlerrolle des Web-Servers (Sambar Server Version 6.4) zwischen beiden andererseits ist in folgender Abbildung dargestellt: Wie die obige Abbildung zeigt, ist CGI ein Protokoll, das der Kommunikation zwischen HTML-Formularen und einem Programm dient. Die Standardein- und -ausgaben werden über das Internet mittels HTTP- Protokolls ausgeführt. Hierbei erfolgt die Eingabe im URL-Adressfeld des Web-Browsers und die Ausgabe im Fenster des gleichen Browsers. Bevor auf die CGI-Programmierung eingegangen wird, soll zum besseren Verständnis ein kurzer Abriss über HTML/HTM erfolgen. 12.1 Hypertext Markup Language (HTML/HTM)
HTML ist eine textbasierte Sprache (Seitenbeschreibungssprache), mit der das Dokumentaussehen z. B. von Texten, Bildern (WWW-Seiten) strukturell und logisch produziert wird. Mit dieser Sprache können Sie mit Hilfe von Hyperlinks Querverweise (farblich markiert) auf andere Dokumente per Mausklick ausführen. Zum Anschauen eines HTML-Dokumentes wird ein sogenannter " Client ", auch Browser genannt, benötigt, wie z. B. Mozilla, NCSA, NetScape oder Microsoft Internet Explorer usw. Zur Erzeugung eines HTML-Dokumentes im Internet wird ein WWW-Server benötigt.