Perl ist eine Skriptsprache zur einfachen Bearbeitung von Texten,
Dateien und Prozessen. Ursprünglich ein beliebtes Werkzeug von
Unix-Systemadministratoren für die zahllosen alltäglichen Aufgaben hat
sich Perl zu einer ausgewachsenen Programmiersprache für nahezu jede
Rechnerplattform entwickelt und wird für Web- und
Datenbank-Programmierung, XML-Verarbeitung, Systemadministration und
vieles mehr benutzt. Gleichzeitig ist Perl immer noch das Schweizer
Messer für die kleinen alltäglichen Aufgaben. Perl ist schnell, macht
Spaß und erweist sich als außerordentlich nützlich. Viele haben Perl
gelernt, weil sie mussten, und benutzen es weiter, weil sie es lieben.
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,
Version 5.8, programmiert.
Einführung in Perl ist das ideale Buch für Systemadministratoren
und Programmierer, die schon nach kurzer Zeit einsetzbare Perl-Skripten
schreiben wollen. Es behandelt unter anderem die folgenden Themen:
* Skalare Daten, Listen und Arrays
* Kontrollstrukturen
* Funktionen
* Ein- und Ausgabe
* Reguläre Ausdrücke
* Dateihandles und Dateitests
* Bearbeitung von Dateien und Verzeichnissen
* Prozessmanagement
* Perl-Module und das CPAN
Inhaltsverzeichnis:
Vorwort XI
1 Einleitung 1
Fragen und Antworten 1
Was bedeutet "Perl"? 4
Wo kann ich Perl bekommen? 9
Wie schreibe ich ein Perl-Programm? 13
Eine Perl-Blitztour 19
Übungen 20
2 Skalare Daten 21
Zahlen 21
Strings 24
Eingebaute Warnungen 28
Skalare Variablen 30
Ausgaben mit print 32
Kontrollstrukturen mit if 37
Auf Benutzereingaben reagieren 38
Der chomp-Operator 39
Kontrollstrukturen mit while 40
Der Wert undef 40
Die Funktion defined 41
Übungen 42
3 Listen und Arrays 43
Zugriff auf Arrayelemente 44
Besondere Arrayindizes 45
Listenliterale 46
Listenzuweisung 48
Interpolation von Arrays in Strings 51
Kontrollstrukturen mit foreach 52
Die beliebteste Standardvariable in Perl: $_ 53
Der reverse-Operator 53
Skalarer Kontext und Listenkontext 54
im Listenkontext 58
Übungen 59
4 Subroutinen 60
Subroutinen definieren 61
Subroutinen aufrufen 62
Rückgabewerte 62
Argumente 64
Private Variablen in Subroutinen 65
Parameterlisten mit variabler Länge 66
Anmerkungen zu lexikalischen (my-) Variablen 69
Das "use strict"-Pragma 70
Der return-Operator 71
Nicht-skalare Rückgabewerte 74
Übungen 75
5 Eingabe und Ausgabe 76
Eingaben von der Standardeingabe (STDIN) 76
Eingaben vom Diamantoperator 78
Aufrufende Argumente 80
Ausgaben auf STDOUT 81
Formatierte Ausgaben mit printf 84
Dateihandles 87
Dateihandles öffnen 89
Schwerwiegende Fehler mit die abfangen 92
Dateihandles benutzen 94
Standarddateihandles erneut öffnen 96
Übungen 97
6 Hashes 98
Was ist ein Hash? 98
Zugriff auf Hashelemente 102
Hashfunktionen 106
Typische Anwendung für einen Hash 109
Übungen 111
7 In der Welt der regulären Ausdrücke 112
Was sind reguläre Ausdrücke? 112
Einfache Mustererkennung 113
Zeichenklassen 116
Übungen 119
8 Mustersuche mit regulären Ausdrücken 120
Mustervergleiche mit m// 120
Das Standardverhalten von regulären Ausdrücken ändern 121
Muster verankern 123
Der Bindungsoperator =~ 125
Variableninterpolation in Suchmustern 125
Die Speichervariablen 126
Allgemeine Quantifier 130
Präzedenz 131
Ein Programm zum Testen von Mustern 133
Übungen 134
9 Textbearbeitung mit regulären Ausdrücken 135
Ersetzungen mit s/// 135
Der split-Operator 138
Die join-Funktion 140
m// im Listenkontext 140
Weitere mächtige reguläre Ausdrücke 141
Übungen 150
10 Weitere Kontrollstrukturen 151
Kontrollstrukturen mit unless 151
Kontrollstrukturen mit until 152
Ausdrücke modifizieren 153
Nackte Blöcke als Kontrollstrukturen 155
Die elsif-Klausel 156
Autoinkrement und Autodekrement 157
Kontrollstrukturen mit for 158
Schleifen kontrollieren 161
Logische Operatoren 165
Übung 170
11 Dateitests 171
Dateitest-Operatoren 171
Die Funktionen stat und lstat 176
Die Funktion localtime 178
Bitorientierte Operatoren 179
Das spezielle Dateihandle _ 180
Übungen 181
12 Zugriff auf Verzeichnisse 182
Im Verzeichnisbaum navigieren 182
Globbing 183
Eine alternative Globbing-Syntax 184
Verzeichnishandles 185
Verzeichnisse rekursiv bearbeiten 187
Dateien und Verzeichnisse bearbeiten 187
Dateien löschen 187
Dateien umbenennen 189
Links und Dateien 190
Erzeugen und Entfernen von Verzeichnissen 195
Zugriffsrechte ändern 197
Besitzrechte ändern 198
Zeitstempel ändern 198
Übungen 199
13 Strings und Sortierfunktionen 201
Substrings finden mit index 201
Substrings manipulieren mit substr 202
Daten mit sprintf formatieren 204
Fortgeschrittenes Sortieren 206
Übungen 212
14 Prozessverwaltung 214
Die Funktion system 214
Die Funktion exec 218
Umgebungsvariablen 219
Backquotes zum Abfangen von Ausgaben benutzen 220
Prozesse als Dateihandles 223
Ganz tief unten mit fork 225
Signale schicken und empfangen 226
Übungen 229
15 Perl-Module 231
Module finden 231
Module installieren 232
Einfache Module benutzen 233
Übungen 240
16 Fortgeschrittene Perl-Techniken 241
Fehler mit eval abfangen 241
Elemente mit grep aus einer Liste filtern 244
Listenelemente umwandeln mit map 245
Hashschlüssel ohne Anführungszeichen 246
Slices 247
Übung 252
A Lösungen zu den Übungen 253
B Über das Lama hinaus 282
Index 305
Dateien und Prozessen. Ursprünglich ein beliebtes Werkzeug von
Unix-Systemadministratoren für die zahllosen alltäglichen Aufgaben hat
sich Perl zu einer ausgewachsenen Programmiersprache für nahezu jede
Rechnerplattform entwickelt und wird für Web- und
Datenbank-Programmierung, XML-Verarbeitung, Systemadministration und
vieles mehr benutzt. Gleichzeitig ist Perl immer noch das Schweizer
Messer für die kleinen alltäglichen Aufgaben. Perl ist schnell, macht
Spaß und erweist sich als außerordentlich nützlich. Viele haben Perl
gelernt, weil sie mussten, und benutzen es weiter, weil sie es lieben.
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,
Version 5.8, programmiert.
Einführung in Perl ist das ideale Buch für Systemadministratoren
und Programmierer, die schon nach kurzer Zeit einsetzbare Perl-Skripten
schreiben wollen. Es behandelt unter anderem die folgenden Themen:
* Skalare Daten, Listen und Arrays
* Kontrollstrukturen
* Funktionen
* Ein- und Ausgabe
* Reguläre Ausdrücke
* Dateihandles und Dateitests
* Bearbeitung von Dateien und Verzeichnissen
* Prozessmanagement
* Perl-Module und das CPAN
Inhaltsverzeichnis:
Vorwort XI
1 Einleitung 1
Fragen und Antworten 1
Was bedeutet "Perl"? 4
Wo kann ich Perl bekommen? 9
Wie schreibe ich ein Perl-Programm? 13
Eine Perl-Blitztour 19
Übungen 20
2 Skalare Daten 21
Zahlen 21
Strings 24
Eingebaute Warnungen 28
Skalare Variablen 30
Ausgaben mit print 32
Kontrollstrukturen mit if 37
Auf Benutzereingaben reagieren 38
Der chomp-Operator 39
Kontrollstrukturen mit while 40
Der Wert undef 40
Die Funktion defined 41
Übungen 42
3 Listen und Arrays 43
Zugriff auf Arrayelemente 44
Besondere Arrayindizes 45
Listenliterale 46
Listenzuweisung 48
Interpolation von Arrays in Strings 51
Kontrollstrukturen mit foreach 52
Die beliebteste Standardvariable in Perl: $_ 53
Der reverse-Operator 53
Skalarer Kontext und Listenkontext 54
Übungen 59
4 Subroutinen 60
Subroutinen definieren 61
Subroutinen aufrufen 62
Rückgabewerte 62
Argumente 64
Private Variablen in Subroutinen 65
Parameterlisten mit variabler Länge 66
Anmerkungen zu lexikalischen (my-) Variablen 69
Das "use strict"-Pragma 70
Der return-Operator 71
Nicht-skalare Rückgabewerte 74
Übungen 75
5 Eingabe und Ausgabe 76
Eingaben von der Standardeingabe (STDIN) 76
Eingaben vom Diamantoperator 78
Aufrufende Argumente 80
Ausgaben auf STDOUT 81
Formatierte Ausgaben mit printf 84
Dateihandles 87
Dateihandles öffnen 89
Schwerwiegende Fehler mit die abfangen 92
Dateihandles benutzen 94
Standarddateihandles erneut öffnen 96
Übungen 97
6 Hashes 98
Was ist ein Hash? 98
Zugriff auf Hashelemente 102
Hashfunktionen 106
Typische Anwendung für einen Hash 109
Übungen 111
7 In der Welt der regulären Ausdrücke 112
Was sind reguläre Ausdrücke? 112
Einfache Mustererkennung 113
Zeichenklassen 116
Übungen 119
8 Mustersuche mit regulären Ausdrücken 120
Mustervergleiche mit m// 120
Das Standardverhalten von regulären Ausdrücken ändern 121
Muster verankern 123
Der Bindungsoperator =~ 125
Variableninterpolation in Suchmustern 125
Die Speichervariablen 126
Allgemeine Quantifier 130
Präzedenz 131
Ein Programm zum Testen von Mustern 133
Übungen 134
9 Textbearbeitung mit regulären Ausdrücken 135
Ersetzungen mit s/// 135
Der split-Operator 138
Die join-Funktion 140
m// im Listenkontext 140
Weitere mächtige reguläre Ausdrücke 141
Übungen 150
10 Weitere Kontrollstrukturen 151
Kontrollstrukturen mit unless 151
Kontrollstrukturen mit until 152
Ausdrücke modifizieren 153
Nackte Blöcke als Kontrollstrukturen 155
Die elsif-Klausel 156
Autoinkrement und Autodekrement 157
Kontrollstrukturen mit for 158
Schleifen kontrollieren 161
Logische Operatoren 165
Übung 170
11 Dateitests 171
Dateitest-Operatoren 171
Die Funktionen stat und lstat 176
Die Funktion localtime 178
Bitorientierte Operatoren 179
Das spezielle Dateihandle _ 180
Übungen 181
12 Zugriff auf Verzeichnisse 182
Im Verzeichnisbaum navigieren 182
Globbing 183
Eine alternative Globbing-Syntax 184
Verzeichnishandles 185
Verzeichnisse rekursiv bearbeiten 187
Dateien und Verzeichnisse bearbeiten 187
Dateien löschen 187
Dateien umbenennen 189
Links und Dateien 190
Erzeugen und Entfernen von Verzeichnissen 195
Zugriffsrechte ändern 197
Besitzrechte ändern 198
Zeitstempel ändern 198
Übungen 199
13 Strings und Sortierfunktionen 201
Substrings finden mit index 201
Substrings manipulieren mit substr 202
Daten mit sprintf formatieren 204
Fortgeschrittenes Sortieren 206
Übungen 212
14 Prozessverwaltung 214
Die Funktion system 214
Die Funktion exec 218
Umgebungsvariablen 219
Backquotes zum Abfangen von Ausgaben benutzen 220
Prozesse als Dateihandles 223
Ganz tief unten mit fork 225
Signale schicken und empfangen 226
Übungen 229
15 Perl-Module 231
Module finden 231
Module installieren 232
Einfache Module benutzen 233
Übungen 240
16 Fortgeschrittene Perl-Techniken 241
Fehler mit eval abfangen 241
Elemente mit grep aus einer Liste filtern 244
Listenelemente umwandeln mit map 245
Hashschlüssel ohne Anführungszeichen 246
Slices 247
Übung 252
A Lösungen zu den Übungen 253
B Über das Lama hinaus 282
Index 305
"Dem ganzen Buch merkt man an, dass es aus Kursmaterialien entstanden ist, die Schwartz in seinen Perl-Trainings verwendete. Er orientiert sich an der Programmier-Praxis und erklärt die Sachverhalte anschaulich und verständlich. Durch die Übungen am Ende jedes Kapitels und die oft witzigen Fußnoten macht es Spaß, sich immer weiter in die Tiefen der Programmiersprache vorzuwagen." -- Jochen Lillich, September 2007
"[...] macht insgesamt einen sehr runden Eindruck und wird zudem den aktuellen Entwicklungen in Perl aus Einsteigersicht voll gerecht. Daumen hoch von mir." - Jürgen Bachsteffel, Linux UG Bayreuth, Januar 2012 "Das Buch ist didaktisch sehr gut aufgebaut und führt Perl-Einsteiger sukzessive an die Perl-Programmierung heran. [...] Nach der Lektüre [...] ist der Leser in der Lage, die ersten anspruchsvollen Perl-Programme zu schreiben und sich anhand weiterführender Literatur in weitergehende Perl-Themen wie z.B. Referenzen, Klassen und Objekte, Tied Variables, usw. einzuarbeiten." - Prof. Dr. Axel Hein, Georg-Simon-Ohm-Hochschule Nürnberg, Juli 2012 Zur vorherigen Auflage: "[...] leistet genau das, was der Titel verspricht. [...] Für Perl-Einsteiger und erfahrene Unix-Benutzer ist der Band genau richtig." - iX, November 2009 "[...] deckt in guter Breite die Dinge ab, die man als Perl-Einsteiger über die Sprache wissen muss.[...] Ich habe das Buch meinen Studenten als Ergänzungsliteratur empfohlen." - Dr. Christian Rank, Verwaltungs- und Wirtschaftsakademie Ostbayern, Juli 2009 "[...] angehenden Perl-ProgrammiererInnen und SystemadministratorInnen [.] wärmstens [zu ] empfehlen." - php security blog, Juni 2009 "[Das Buch] ist nicht nur von ausgewiesenen Kennern der Materie geschrieben, sondern basiert auch auf Lehrmaterial, das in vielen Jahren Praxis erprobt und optimiert wurde. Die Kapitel bilden abgeschlossene Einheiten, haben verdaubare Größen und enthalten Übungsaufgaben mit Lösungen." - $foo Magazin, 03/2011 "Alles in allem ein begeisterndes Buch, dem noch viele neue Auflagen zu wünschen sind." - Claus Schäfer, Berliner Linux UG