4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle...

23
4. Serverbasierte Programmierung: Perl 4.1 Grundlagen 4.1.1 HTTP-Server und CGI-Schnittstelle 4.1.2 Formulare 4.1.3 Ein einfaches Perl Programm 4.2 Interaktion zwischen Formular und Programm 4.1.1 Aufruf im Formular 4.2.2 Associative Arrays 4.2.3 Einlesen des Query Strings 4.2.4 Implementation unter UNIX (ZEDAT)

Transcript of 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle...

Page 1: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.1 Grundlagen

4.1.1 HTTP-Server und CGI-Schnittstelle

4.1.2 Formulare

4.1.3 Ein einfaches Perl Programm

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.2.4 Implementation unter UNIX (ZEDAT)

Page 2: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.1 Grundlagen

4.1.1 HTTP-Server und CGI-Schnittstelle

4.1.2 Formulare

4.1.3 Ein einfaches Perl Programm

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

Page 3: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Beispiel 1 Beispiel 2

Programm Programm

Page 4: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.
Page 5: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

http://userpage.fu-berlin.de/~menschin/cgi-bin/test.cgi?Name=Jean

URL Query String

Page 6: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.1 Grundlagen

4.1.1 HTTP-Server und CGI-Schnittstelle

4.1.2 Formulare

4.1.3 Ein einfaches Perl Programm

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.2.4 Implementation unter UNIX (ZEDAT)

Page 7: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Normaler Array

Page 8: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Normaler Array

Page 9: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

0 1 2 3 4 5

Normaler Array

Page 10: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

0 1 2 3 4 5

"e" "es" "e" "ons" "ez" "ent"

Normaler Array

Page 11: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Associative Array

Page 12: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Associative Array

"Haus" "Baum" "Frau"

"maison" "arbre" "femme"

Page 13: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Associative Array

"Haus" "Baum" "Frau"

"maison" "arbre" "femme"

KEY

VALUE

Page 14: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

"Haus" "Baum" "Frau"

"maison" "arbre" "femme"

%Lexikon = ('Haus' => 'maison', 'Baum' => 'arbre', 'Frau' => 'femme');

Page 15: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Lexikon

Page 16: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.1 Grundlagen

4.1.1 HTTP-Server und CGI-Schnittstelle

4.1.2 Formulare

4.1.3 Ein einfaches Perl Programm

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.2.4 Implementation unter UNIX (ZEDAT)

Page 17: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.1 Grundlagen

4.1.1 HTTP-Server und CGI-Schnittstelle

4.1.2 Formulare

4.1.3 Ein einfaches Perl Programm

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.2.4 Implementation unter UNIX (ZEDAT)

Page 18: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

Implementation

• Mit Telnet auf dem ZEDAT-Rechner einloggen• cd public_html• mkdir cgi-bin• cd cgi-bin• pico

Page 19: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.
Page 20: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

• Mit Telnet auf dem ZEDAT-Rechner einloggen• cd public_html• mkdir cgi-bin• cd cgi-bin• pico• Programm schreiben

• Mit CONTROL X pico verlassen; speichern unter*.cgi

• chmod a+x Programm.cgi

• Programm testen mit perl Programm.cgi

• Entsprechendes Formular unter public_html ablegen

Page 21: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.3 Programmiergrundlagen

4.3.1 Basissyntax und wichtigste Befehle

4.3.2 Skalare Variablen

4.3.3 Arrays

4.3.4 Schleifen

Page 22: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

4. Serverbasierte Programmierung: Perl

4.2 Interaktion zwischen Formular und Programm

4.1.1 Aufruf im Formular

4.2.2 Associative Arrays

4.2.3 Einlesen des Query Strings

4.3 Programmiergrundlagen

4.3.1 Basissyntax und wichtigste Befehle

4.3.2 Skalare Variablen

4.3.3 Arrays

4.3.4 Schleifen

Page 23: 4. Serverbasierte Programmierung: Perl 4.1Grundlagen 4.1.1HTTP-Server und CGI-Schnittstelle 4.1.2Formulare 4.1.3Ein einfaches Perl Programm 4.2Interaktion.

• Erste Zeile lautet: #!/usr/local/bin/perl

• Kommentare werden durch # gekennzeichnet

• jeder Befahl endet mit ;

• Perl ist case-sensitive

• print 'xyz' versus print "xyz"

• \n neue Zeile \t Tabulator

• Zur HTML-Ausgabe lautet die Erste Zeile:print "Content-type: text/html \n\n