package MyApp::Module::Name; use base 'CGI::Application'; sub setup { my $self = shift; $self->start_mode('rm1'); $self->run_modes([qw/ rm1 rm2 rm3 rm4 local_args_to_new /]); } sub rm1 { my $self = shift; return 'MyApp::Module::Name->rm1'; } sub rm2 { my $self = shift; return 'MyApp::Module::Name->rm2'; } sub rm3 { my $self = shift; my $param = $self->param('my_param') || ''; return "MyApp::Module::Name->rm3 my_param=$param"; } # because of caching, we can't re-use PATH_INFO, so we do this. sub rm4 { my $self = shift; return $self->rm3; } sub local_args_to_new { my $self = shift; return $self->tmpl_path; } 1;