J'ai une super classe appelée Réponse:Accès __DATA__ de super classe
package Response;
use strict;
use warnings;
use HTML::Template;
sub response {
my ($class, $request) = @_;
return $request->new_response($class->status, $class->headers, $class->body);
}
sub body {
my $class = shift;
my $template = HTML::Template->new('filehandle' => eval("$class::DATA"));
return $template->output() . $class;
}
sub status {
return 200;
}
sub headers {
return [ 'Content-Type' => 'text/html' ];
}
1;
__DATA__
Default content
et une sous-classe appelée URIError:
package URIError;
use strict;
use warnings;
use Response;
our @ISA = qw(Response);
1;
__DATA__
Invalid URI
Lorsque URIError-> réponse est appelée, ligne
my $template = HTML::Template->new('filehandle' => eval("$class::DATA"));
dans la classe de réponse ne prend pas DONNÉES contenu de la section de la classe URIError.
Quelle est la syntaxe pour y parvenir?
Ce pue. Les données ne peuvent être lues qu'une seule fois (sauf si vous notez la position initiale du fichier et revenez en arrière). Pourquoi ne pas avoir un accesseur qui – ikegami