Author(s): Helmut Patay
Publisher: Addison-Wesley
Year: 2002
Language: German
Pages: 852
Webprogrammierung mit Perl......Page 3
2 Grundlagen......Page 5
3 Pattern Matching......Page 6
7 Anwendungsbeispiele......Page 7
9 Das Datenbank-Interface DBI......Page 8
C Vordefinierte Funktionen......Page 9
Index......Page 11
Über dieses Buch......Page 13
1.1 Was ist Perl?......Page 15
1.2 Wie installiert man Perl?......Page 16
1.3 Wie installiert man Zusatzmodule für Perl?......Page 19
1.4 Die Online Hilfe von Perl......Page 20
1.6 Wie sieht ein Perl-Skript aus?......Page 21
1.6.2 Was sind Direktiven?......Page 23
1.6.3 Die Hashbang-Zeile......Page 24
1.7 Wie sieht ein Perl-Modul aus?......Page 27
1.8 Wie sieht die Skriptumgebung in Perl aus?......Page 29
1.9 Wie findet Perl Module?......Page 30
1.10 Wie werden Skripts ausgeführt?......Page 31
1.10.3 Skripts in Windows ausführen......Page 32
1.10.4 Ausführen kurzer Programme......Page 33
1.10.6 Inline-Dokumentation im Quellcode......Page 34
1.10.7 Namenskonventionen für Perl- Skripts und Perl-Module......Page 35
1.10.8 Verzeichnistrenner......Page 36
1.10.9 BEGIN und END......Page 37
2.1 Grundbegriffe......Page 41
2.3 Skalare......Page 43
2.3.2 Darstellbarer Zahlenbereich......Page 44
2.3.3 Kennzeichnung von Strings (Quoting)......Page 45
2.3.4 Der skalare Wert »undef«......Page 47
2.3.5 Boolesche Werte......Page 48
2.4.1 Arrays......Page 49
2.4.2 Hashes......Page 53
2.5 Konstanten......Page 56
2.6 Variablen......Page 58
2.6.1 Variablennamen (Identifier)......Page 59
2.6.2 Reservierte Wörter in Perl......Page 60
2.6.3 Geltungsbereich von Variablen......Page 61
2.6.4 Skalare Variablen......Page 66
2.6.5 Array-Variablen......Page 69
2.6.6 Hash-Variablen......Page 76
2.6.7 Referenzvariablen......Page 80
2.7.1 Was sind Operatoren?......Page 96
2.7.2 Arithmetische Operatoren......Page 99
2.7.3 String-Operatoren......Page 102
2.7.4 Zuweisungsoperatoren......Page 103
2.7.5 Autoincrement- und Autodecrement-Operatoren......Page 104
2.7.6 Logische Operatoren......Page 105
2.7.8 Vergleichsoperatoren für Zahlen......Page 108
2.7.9 Vergleichsoperatoren für Strings......Page 112
2.7.10 Bit-Operatoren......Page 117
2.8 Statements......Page 132
2.8.1 Statement if......Page 133
2.8.3 Schleifen......Page 136
2.8.4 Statement return......Page 144
2.9 Funktionen......Page 146
2.9.1 Funktionsdefinition......Page 147
2.9.2 Funktionsaufruf......Page 152
2.9.3 Datenübergabe an Funktionen......Page 154
2.9.4 Datenübergabe an den Aufrufer einer Funktion......Page 159
2.9.5 Funktionskontext......Page 162
2.10 Module......Page 164
2.10.1 Die package-Direktive......Page 165
2.10.2 Die require-Direktive......Page 166
2.10.3 Die use-Direktive......Page 168
2.11 Ein-/Ausgabe (File I/O)......Page 174
2.11.1 FileHandles......Page 175
2.11.2 DirHandles......Page 191
3 Pattern Matching......Page 197
3.1.1 Option i......Page 205
3.1.2 Option m......Page 206
3.1.3 Option s......Page 208
3.1.5 Option g......Page 211
3.1.6 Speichern von Treffern......Page 213
3.1.7 Die Positionsvariablen @- und @+......Page 219
3.2.1 Metazeichen......Page 221
3.3 Ersetzen von Zeichenketten......Page 241
3.4.1 (?imsx-imsx)......Page 251
3.4.2 (?:pattern) und (? imsx-imsx:pattern)......Page 253
3.4.3 (?!pattern)......Page 254
3.5.1 $1, $2 .........Page 255
3.5.3 $` und $'......Page 256
3.5.4 $+......Page 259
4.1 Mehrdimensionale Arrays......Page 261
4.2 Mehrdimensionale Hashes......Page 266
4.3 Hash-Arrays......Page 276
5 Objektorientierte Programmierung......Page 279
5.1.1 Klassenattribute und Klassenmethoden......Page 282
5.1.2 Konstruktor......Page 283
5.1.3 Instanzattribute und Instanzmethoden......Page 289
5.1.4 Fehlermeldungen von Klassen......Page 298
5.2 Vererbung......Page 301
5.2.1 Die Variable @ISA......Page 302
5.2.2 Overloading......Page 307
5.2.3 Overriding......Page 309
5.3 Factories......Page 321
6.1.1 File::Path::mkpath()......Page 325
6.2 File::Find......Page 328
6.2.1 File::Find::find()......Page 329
6.3 File::Copy......Page 337
7.1 dos2Unix.pl......Page 339
7.2 unix2Dos.pl......Page 345
7.3 Hexdump von Dateien......Page 350
7.4 Lesen von Properties-Dateien......Page 357
7.4.1 Prozedurale Implementierung......Page 358
7.4.2 Objektorientierte Implementierung......Page 359
7.5 Ausgabe aller Hypertext-Links......Page 362
7.6 dirname.pl......Page 366
7.7 basename.pl......Page 367
7.8 Pfadnamen mit Sonderzeichen finden......Page 368
7.9 Automatische Dateien erzeugen......Page 370
7.10 Dateibäume verwalten......Page 400
8 CGI......Page 411
8.1 Das HTTP-Protokoll......Page 416
8.1.1 Der Request......Page 418
8.1.2 Die Response......Page 422
8.2.1 Notwendigkeit von Cookies......Page 427
8.2.2 Arbeitsweise von Cookies......Page 428
8.2.3 Netscape-Cookies......Page 430
8.2.4 Cookies gemäß Internet-Draft-Spezifikation......Page 434
8.2.5 Cookie-Beschränkungen......Page 436
8.3 CGI-Umgebung......Page 437
8.3.1 CGI-Kommunikation......Page 441
8.4.1 Templatevariablen......Page 446
8.4.2 Template-Engine......Page 452
8.5 Das PERL-Modul CGI.pm......Page 482
8.5.1 Verarbeiten von HTML-Formularen......Page 484
8.5.2 Dynamische HTML-Formulare......Page 486
8.5.3 Arbeiten mit Cookies......Page 497
9 Das Datenbank-Interface DBI......Page 507
9.1 Kurzeinführung in SQL......Page 510
9.1.1 SQL-Clientprogramme......Page 511
9.1.2 Tabellen (Tables)......Page 515
9.1.3 Das INSERT-Statement......Page 526
9.1.4 Das DELETE-Statement......Page 527
9.1.5 Das UPDATE-Statement......Page 529
9.1.6 Das SELECT-Statement......Page 530
9.1.7 Joins......Page 532
9.1.8 Commit und Rollback......Page 535
9.2.1 Voraussetzungen......Page 536
9.2.3 Abfrage verfügbarer Datenquellen......Page 537
9.2.4 Aufbauen der Datenbankverbindung......Page 538
9.2.5 Ausführen von SQL-Statements......Page 543
9.2.6 Benutzung von RaiseError......Page 557
9.3 Sessions mit CGI und DBI......Page 558
9.3.1 Beispiel eines Workflows......Page 559
9.3.2 Implementierung einer Sessionverwaltung......Page 574
9.4 Rekursive Strukturen mit DBI......Page 606
9.5 Mehrsprachige Datensätze......Page 669
10 Perl/Apache-Integration......Page 673
10.1 Standard-CGI......Page 674
10.2.1 Installation von mod_perl......Page 677
10.3 Apache-Module in Perl......Page 680
10.4 Authentifizierungs-Modul......Page 695
10.5 Web-Authentifizierung mit DBI......Page 704
10.6 Persistente Datenbankverbindungen......Page 707
10.7 AuthCookie – ein Beispiel......Page 708
A Style Guide......Page 721
B.1 @_......Page 723
B.3 %ENV......Page 724
B.4 $0......Page 725
B.5 @INC......Page 726
B.7 $$, $PID, $PROCESS_ID......Page 729
B.9 $_, $ARG......Page 730
B.10 $1, $2 .........Page 731
B.13 $&, $MATCH......Page 733
B.15 $', $POSTMATCH......Page 734
B.17 $,, $OFS, $OUTPUT_FIELD_SEPARATOR......Page 735
B.18 $\, $ORS, $OUTPUT_RECORD_SEPARATOR......Page 736
B.20 $!, $ERRNO, $OS_ERROR......Page 737
B.21 %SIG......Page 738
C.1 abs()......Page 743
C.3 binmode()......Page 744
C.4 bless()......Page 746
C.6 chmod()......Page 747
C.7 chomp()......Page 748
C.8 chop()......Page 749
C.10 chr()......Page 750
C.12 crypt()......Page 751
C.13 defined()......Page 752
C.14 delete()......Page 754
C.15 die()......Page 755
C.17 eof()......Page 757
C.18 eval()......Page 758
C.19 exists()......Page 762
C.20 exit()......Page 764
C.21 flock()......Page 765
C.23 gmtime()......Page 771
C.24 grep()......Page 772
C.26 int()......Page 774
C.27 join()......Page 776
C.28 keys()......Page 777
C.31 length()......Page 778
C.32 localtime()......Page 779
C.35 mkdir()......Page 780
C.36 no()......Page 781
C.37 oct()......Page 782
C.39 pack()......Page 783
C.41 pos()......Page 785
C.42 print()......Page 786
C.43 printf()......Page 788
C.45 rand()......Page 789
C.46 read()......Page 790
C.47 ref()......Page 791
C.48 require()......Page 792
C.50 scalar()......Page 794
C.51 seek()......Page 796
C.52 select()......Page 798
C.53 shift()......Page 799
C.54 sin()......Page 800
C.56 sort()......Page 801
C.57 splice()......Page 803
C.58 split()......Page 805
C.59 sprintf()......Page 806
C.61 srand()......Page 809
C.62 stat()......Page 810
C.63 substr()......Page 811
C.64 system()......Page 812
C.65 tell()......Page 813
C.67 truncate()......Page 814
C.69 ucfirst()......Page 816
C.71 undef()......Page 817
C.73 unpack()......Page 819
C.75 use()......Page 820
C.77 values()......Page 823
C.78 wantarray()......Page 824
!......Page 827
A......Page 829
B......Page 830
C......Page 832
D......Page 833
E......Page 834
G......Page 836
H......Page 837
I......Page 838
L......Page 839
M......Page 840
O......Page 841
P......Page 842
Q......Page 843
R......Page 844
S......Page 845
T......Page 847
U......Page 848
V......Page 849
Z......Page 850
Ins Internet: Weitere Infos zum Buch, Downloads, etc.......Page 0
© Copyright......Page 852