mich stört aber die Vermischung von Verarbeitung und Ausgabe, was mich grundsätzlich auch an (den meisten Lösungen von) php stört. Daher halte ich alle auszugebenden Fragmente als HTML-Templates vor, die der Designer ohne Programmierkenntnisse schnell ändern kann.
Es ist kein Problem, die Ausgaben in meinem Beispiel mit einer Template-Engine zu realisieren, ich persönlich ziehe da HTML::Template vor.
Das sich, wie schon erwähnt, Prima mit dem CGI Modul ergänzt.
my $query = new CGI;
my $template = HTML::Template->new(filename => 'template.tmpl',
associate => $query);
~~~(aus der [Doku](http://search.cpan.org/dist/HTML-Template/Template.pm))
> Übrigens, wenn du unbedingt dein %F brauchst, ist das mit dem CGI-Modul ein Zweizeiler:
>
> ~~~perl
my %F;
> $F{$_} = $cgi->param($_) foreach($cgi->param);
oder ein Einzeiler:
my %F = CGI::Vars();
hatten wir aber schon.
Struppi.