Leser: 2
![]() |
|< 1 2 3 >| | ![]() |
24 Einträge, 3 Seiten |
QuoteDas hab ich auch (damals von tecchannel.de für rd. 3 Euro geholt)Buch Web-Programmierung mit Perl vom Addison-Wesley Verlag
HTML::Template::Compiled in Zusammenarbeit mit
CGI::Application. Ganz einfach weil es mehr Funktionalität bietet und schneller sein soll (habs aber nicht getestet). In den Dokus dazu sind eigentlich recht selbsterklärende Beispiele drin.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
print<<"1"; <form method="post" action="index.pl "> <select name="JAHR"> 1 print"<option selected>$jahr</option>\n"; for($i=2007;$i<=2060;$i++) { print" <option>$i</option>\n"; }; print<<"2"; </select></form> 2
FAQ zu CGI
HTML::Template::Compiled:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#!/usr/bin/perl use strict; use warnings; use HTML::Template::Compiled; my $template = HTML::Template::Compiled->new( filehandle => *DATA, ); my @values; my $jahr = 2027; for( 2007 .. 2059 ){ # fuege die Hashreferenz fuer jede Option hinzu push @values, { year => $_, selected => $_ == $jahr, }; } $template->param( JAHRE => \@values ); print $template->output; __DATA__ <form method="post" action="index.pl "> <select name="JAHR"> <%loop JAHRE%> <option <%if selected%>selected<%/if%>><%var year %></option> <%/loop%> </select> </form>
HTML::Template::Compiled kann man zum Beispiel ein "default_escape" angeben. Man muss sich dann nicht mehr um das Escapen der dynamischen Inhalte kümmern. So kann man zum Beispiel das Risiko von Cross-Site-Scripting zumindest einschränken wenn man "default_escape" auf 'HTML' setzt.![]() |
|< 1 2 3 >| | ![]() |
24 Einträge, 3 Seiten |