超簡単サンプル。
package CGIsample; use base qw(CGI::Application); use strict; sub setup { my $self = shift; $self->start_mode('mode1'); $self->run_modes(mode1 => 'showmain'); } sub showmain{ my $self = shift; my $q = $self->query(); my $output = ''; $output .= $q->start_html(-title => 'CGI::Application sample'); $output .= "<p>main page</p>\n"; $output .= $q->end_html(); return $output; } 1;
#!/usr/local/bin/perl use CGIsample; my $webapp = new CGIsample(); $webapp->run();
CGI::Applicationの基本機能としては、各モードと対応するViewモデルをディスパッチすることなのかな。確かに
if ($mode eq 'mode1'){ showmain(); }
みたいな分岐を延々と書くことを考えればかなり楽かも。もうちょっと使ってみよう。