Nein. Die Frage, welches Entwurfsmuster passt, ist immer noch offen.
Zeig Code - dann können wir diskutieren!
Gerne!
Das CGI-Script
#!/usr/bin/perl
use myCGI;
use strict;
use warnings;
my $u = myCGI::Einmaleins->new;
print $u->header, $u->response;
# thats all
Method response in Klasse myCGI::Einmaleins
sub response{
my $self = shift;
if($self->{AJAX}){
# gebe nur das Resultat aus
if(scalar @{$self->{ERR}}){
return join(",", @{$self->{ERR}});
}
else{
return $self->{TEMPLVAL}->{ergebnis};
}
}
else{
if(scalar @{$self->{ERR}}){
return sprintf "<p>%s</p>", join "</p><p>", @{$self->{ERR}};
}
else{
$self->{TEMPLVAL}->{action} = $ENV{SCRIPT_NAME};
# Liste mit den Platzhaltern durchgehen
# wenn Werte anliegen, werden die Platzhalter ersetzt
foreach my $s(@{$self->{TEMPLIST}}){
$s = defined $self->{TEMPLVAL}->{$s} ? $self->{TEMPLVAL}->{$s} : '';
}
return sprintf $self->{TEMPLATE}, @{$self->{TEMPLIST}};
}
}
}