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');を外しただけ。