CGI::Application::Plugin::AutoRunmodeを遊んでみる2
CGI::Application::Dispatchと組み合わせるとこうなるのかな。
まだこっちのほうがしっくりくるかも。
でも普通にCGI::Application::Dispatchだけで良い気もする。
ソース
neko2.cgi
#!/usr/local/bin/perl
use strict;
use warnings;
use lib qw(./lib);
use CGI::Application::Dispatch;
CGI::Application::Dispatch->dispatch(
DEFAULT => 'Neko',
);
Neko.pm
package Neko;
use strict;
use warnings;
use base 'CGI::Application';
use CGI::Application::Plugin::AutoRunmode;
sub setup {
my $self = shift;
$self->header_add( -type => 'text/html; charset=Shift_JIS' );
}
sub cgiapp_init {
my $self = shift;
$self->tmpl_path('./template/');
}
sub index : StartRunmode {
my $self = shift;
my $t = $self->load_tmpl('index.html',die_on_bad_params => 0,);
return $t->output;
}
sub index2 : Runmode {
my $self = shift;
my $t = $self->load_tmpl('index2.html',die_on_bad_params => 0,);
return $t->output;
}
1;
Neko.pmは$self->mode_param('__mode');を外しただけ。