Benutzer:Lichtkind/HTML::Mason
HTML::Mason ist ein Perl-basierte HTML-Template_Engine, mit dem man komplexe Webseiten oder Webanwendungen erstellen kann. Es ist darauf ausgelegt mit Apache und mod_perl zusammenzuarbeiten. Mason löst viele Probleme der Entwicklung von Webseiten, wie das Problem des Umgangs mit dupliziertem Inhalt und Code und der Einbindung von Perl-Code in HTML.
Beispiel-Code
[Bearbeiten | Quelltext bearbeiten]Die Einbettung von Perl-Code geschieht ähnlich wie bei JSP, das heißt, es wird direkt HTML geschrieben und in ausgewiesenen Bereichen kann dann Perl-Code eingefügt werden. Dies sieht dann z.B. so aus:
<html> <body> <p>Hallo <% ("Erdling", "Marsmensch")[rand 2] %></p> </body> </html>
Dieses Beispiel gibt zufällig entweder "Hallo Marsmensch" oder "Hallo Erdling" aus.
Hier nun ein anderes Beispiel:
<html> <body> <%perl> my $name = 'Welt'; my @time = localtime; </%perl> Hallo <% $name %>, % if ( $time[2] < 12 ) { Guten Morgen. % } else { Guten Nachmittag. % } </body> </html>
Dabei ist <%perl>...</%perl>
ein Block, in dem Perl-Code steht, der ausgeführt wird und <% ... %>
ein Ausdruck der ausgegeben wird. Eine Zeile, die mit % anfängt, wird behandelt wie eine gewöhnliche Zeile mit Perl-Code.
Dieses Beispiel gibt "Hallo Welt" gefolgt von "Guten Morgen" oder "Guten Nachmittag" aus, abhängig von der Uhrzeit.
Weitere Eigenschaften von Mason:
- die Möglichkeit, andere Komponenten aufzurufen
- Vererbungshierarchien
- komplexes URL-to-Action-Mapping mit Hilfe sogenannter autohandler
und dhandler