Hallo!
Wie der Titel schon hergibt würde ich gerne undefinierte Parameter in meinem HTML::Template-Objekt abfangen.
Eigentlich wollte ich das per default-value erledigen, was jedoch nicht so sonderlich gut geht, da ich die Werte innherhalb von HTML-Tags brauche und ich da Probs mit den <> bekomme.
Quote <TMPL_VAR NAME="name" DEFAULT="default_value">
Daher bin ich auf %value% umgestiegen => da kann ich aber kein default angeben.
Jedenfalls kann ich die Parameter der normalen TMPL_VARs (die Loops brauche ich nicht!) so abfragen:
sub setUndefTmplValues {
my $template = shift;
my @parameter_names = $template->param();
# print STDERR Data::Dumper::Dumper( @parameter_names );
foreach( @parameter_names ) {
eval{ $template->param( $_ => "$_ nicht definiert" ) unless defined( $template->param($_) ); }
}
return 1;
} # /checkTmplForValues
Das Einzige, was mich da noch stört ist das eval{} wegen der Loops, die nämlcih eine Arrayreferenz erwarten und deswegen bei obiger Abfrage einen Fehler verursachen.
Weis wer vielleicht eine elegante Lösung für dieses Problem?
Vielleicht so die Abfarge des Parametertypen oder so?
mfg pktm
PS: bitte auch Kritik / Verbesserungsvorschläge an obigen Code üben :)\n\n
<!--EDIT|pktm|1081376759-->