Du wirst dich ja schon mit HTML befasst haben im Rahmen deiner Ausbildung.
HTML-Elemente können auch mittels der Bibliothek CGI erzeuget werden, siehe:
CGI::HTML::Functions
Bitte auch die Doku ansehen beim üben!
Probieren wir es mal.
Ein Hinweis wie das Modul CGI arbeitet.
Start- und End-Elemente von HTML werden dargestellt durch
start_ELEMENTNAME und
end_ELEMENTNAME. Komplette HTML-Blöcke/Elemente ohne das
start_ oder
end_.
Der Anfang des HTML-Gerüsts wird vereinfacht ohne das Modul oft so ausgegeben
print <<HTML;
<html>
<body>
HTML
Mit Modul lässt sich auch so bewerkstelligen
Das Ende eines HTML-Blocks
print <<HTML;
</body>
</html>
HTML
kann ähnlich durch
erstellt werden.
Ein P-Element mit Text kann so erzeugt werden
print $cgi->p("Das ist ein Text");
wird zu
Das ist auch gleichbedeutend mit
print $cgi->start_p,"Das ist ein Text", $cgi->end_p;
Formatierungen innerhalb von HTML-Elementen wie I, B, EM etc. gehen auch.
print "Das HTML-Element I ist ", $cgi->i("Kursiv"), " und B ist ", $cgi->b("Fett");
Zur Erzeugung von verschachtelten HTML-Elementen lassen sich auch diese Funktionen so schachteln:
print $cgi->div(
$cgi->p("Ein Absatz mit ",$cgi->i("kursivem"), " Text"),
$cgi->br(),
$cgi->p("2. Absatz")
);
erzeugt dann
<div><p>Ein Absatz mit <i>kursivem</i> Text</p> <br /> <p>2. Absatz</p></div>
Wenn Elemente noch Attribute haben, müssen diese vor dem Element-Inhalt in geschweiften Klammern stehen, damit das Modul die einfügt. Attributnamen und Attributwerte werden zur besseren Erkennung der Zusammengehörigkeit mit => getrennt.
Ein HTML-Element P mit einem Attribut ID mit dem Wert erstezeile kann also so werzeugt werden:
$cgi->p({ id=>"erstezeile }, "Text Text");
Mehrere Attribute wenden Liste durch Komma getrennt.
$cgi->p({ id=>"erstezeile, name=>"ez", style=>"font-size:200%" }, "Text Text");
ergibt dann:
<p id="erstezeile" name="ez" style="font-size:200%">Text Text</p>
Nun zu Formularen wie in
https://metacpan.org/pod/distribution/CGI/lib/CGI/... gezeigt.
Also fangen wir mal an (und schrieben es mehrzeilig zur besseren Kommentierung).
Ein Formular beginnt also mit start_form, braucht aber noch ein paar Parameter um komplett zu sein.
print start_form(
-method=>"POST",
-action=>"#"
);
und endet mit
Etwas unstrukturiert beschrieben, aber ich bin auch nicht deine Dozentin und kann nich so eben mal ein Perl-CGI-HTML-Lernskript aus dem Pullover schütteln. ;)
Musst du bei Problemen hier weiter fragen.
Dann probier mal. Viel Erfolg.
Last edited: 2016-01-25 10:17:56 +0100 (CET)