package Test;    use base "CGI::Application";    use CGI::Application::Plugin::Forward;    use CGI::Application::Plugin::Redirect;    use CGI::Application::Plugin::Session;        use File::Spec;        sub setup {        my $self = shift;        $self->run_modes([qw(            start            third            second_runmode        )]);    }      # configure the session once during the init stage    sub cgiapp_init {        my $self = shift;        # Configure the session        $self->session_config(           CGI_SESSION_OPTIONS => [              "driver:File",              $self->query(),              {                  Directory => File::Spec->catfile(qw(c: apache cgi-bin cms session)),              }           ],           DEFAULT_EXPIRY      => '+ws',           COOKIE_PARAMS       => {                                    -expires => '+24h',                                    -path    => '/',                                  },           SEND_COOKIE         => 1,        );            }        sub start {        my $self = shift;        my $url = $self->query->url(-relative=>1,) . '?rm=third';        $self->session->param('test' =>                              qq~Firefox eine gute Entwicklugn war. Nur durch diesen Browser gelang es mir eine Schwäche des Opera 7.5 heraus zu finden. Mit dem IE hätte es übrigens nicht geklappt, weil dieser einen Dreck auf CSS und positionierung mit irgend etwas beliebigem außer Tabellen gibt.~                              );        return qq~                        fwd        

Session-p: 'blubb'

               ~;    }    sub second_runmode {        my $self = shift;        my $rm = $self->get_current_runmode;  # 'second_runmode'        my $p = $self->query->param('test') || 'kein Query-P';        my $url = $self->query->url(-relative=>1);        return  qq~            $rm, $p
           start        ~;    }    sub third {        my $self = shift;                my $p = $self->session->param('test') || 'keine Session';        $self->session->close();        $self->session->delete();                        return $self->redirect($self->query->url(-relative=>1,) . '?rm=second_runmode;test=' . $p);    }        #sub cgiapp_postrun {    #    my $self = shift;    #    my $output_ref = shift;    #        #    # mach was    #    $self->param('postrun' => 1);    #}     1; my $app = Test->new(); $app->run();