use PS::Display; use PS::DataBase; use PS::Session; use PS::CGI; my %dispatch = ( action1 => \&do_me, action2 => \&do_you, ); my $action = PS::CGI::param('action_var') || $default; my $session = PS::Session->new_or_from_cookie(); my $user = PS::DataBase->user( $session->userid ); my ( $page, %extra_data ) = $dispatch{$action}->(); my %template_info = ( session => $session, user => $session->user, %extra_data ); print PS::CGI::header(-cookie => $session->cookie); SR::Template->process ( data => \%template_data, page => $page, ); #### [% IF session.is_authorized %] YXZ branching with and based on [% all_that_prepared_data %] [% ELSE %] No XYZ for you, please login or register. [% END %]