Farid Hajji
Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]
Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
Ein größeres CGI-Programm
Sobald ein CGI-Programm etwas größer wird und mehr Funktionalität bekommt, wird es sehr wichtig, dieses auch gut zu strukturieren. Dies geschieht üblicherweise über einen Dispatcher. Es handelt sich dabei um eine Funktion, die je nach gewüschter Situation in diverse Subroutinen verzweigt. Eine gute Illustration eines Dispatchers ist das folgende Web-Forum Programm wf.
- Dieses Programm simuliert ein News-System, indem es den Benutzern erlaubt, Nachrichten auf einem oder mehreren Schwarzen Brettern zu hinterlegen und alle Nachrichten anderer Benutzer zu lesen und auf Wunsch auch darauf zu antworten. Es handelt sich also um eine Art Gästebuch mit mehreren Fächern.
- Damit Nachrichten eindeutig Benutzern zugeordnet werden, sollten sich Anwender unter einem frei wählbaren Pseudonym und Paßwort anmelden. Anschließend können sie alle Gruppen besuchen und Nachrichten unter dem gewählten Pseudonym ablegen. Dies wird durch Cookies realisiert, die im Buch besprochen wurden.
-
Das
wf-Programm wird mehrfach in verschiedene Kontexte aufgerufen, z.B.:
- Anmeldebildschirm anzeigen.
- Anmeldung validieren oder verwerfen.
- Anzeige der Liste aller Gruppen.
- Neue Gruppen auf Wunsch erzeugen.
- Auf die Wahl einer Gruppe hin, eine Liste von Artikel der gewählten Gruppe anzeigen.
- Bei Auswahl eines Artikels, den gesamten Artikel anzeigen.
- Eine Eingabemaske für neue Artikel oder Antworten auf existierende Artikel anzeigen.
- Der eingegebene Artikeltext entgegennehmen und speichern.
Welche dieser Aufgaben nun ausgeführt werden soll, wird in der Funktion dispatcher() festgelegt. Für jede dieser Aufgaben wird in eine eigene Subroutine verzweigt, die entsprechend reagiert.
wf ist ausführlich in der POD-Dokumentation beschrieben (rufen Sie einfach
perldoc wf auf) und kann direkt verwendet werden. Sie können auch nach Wunsch Ergänzungen und Änderungen einbauen.
(1999/10/07)
[Prev] [Up] [Next]
[Alte Quelle]