Thread Lookup Tabelle - Kein Rückgabewert
(3 answers)
Opened by roooot at 2008-06-13 23:47
Hallo. Ich verewende eine Lookuptabelle um verschachtelten if Bedingungen zu vermeiden.
Das sieht dann so aus: Code (perl): (dl
)
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 sub output { my ($self) = @_; my $outputtype = $outputtype_of{ident $self}; #croak $outputtype; my $send_handler = ( html => do { $self->generate_html() }, js => do { $self->generate_js() }, jpg => do { $self->generate_jpg() }, zip => do { $self->generate_zip() }, ); my $send_header = ( html => 'text/html', js => 'text/javascript', jpg => 'image/jpeg', zip => 'archive/zip', ); my $output = $send_handler{$outputtype}; # OUTPUT IST LEER print "Content-Type: $send_header{$outputtype} \n\n"; print $output; } sub generate_html { my ($self) = @_; my $template = $template_of{ident $self}; require HTML::Template; # check if page exists: if(!-e qq{./res/template/$template.html}) { croak "template not found."; } my $output = HTML::Template->new( filename => qq{./res/template/$template.html}, die_on_bad_params => 0, )->output(); return $output; } Allerdings mein Problem: Output -> $output ist leer. Es wird aber definitiv der gewünschte Inhalt in generate_html erstellt. Wo liegt das Problem? Fehlt in der Lookup Tabelle ein return? Viele Grüße :)
|