use strict; use FindBin; use lib "$FindBin::Bin"; # push curdir onto @INC use App; use CGI qw(:cgi); use CGI::Carp; use Matrix::HTML; my $app = App->new(tmpl_path=> '/templates'); $app->run( start => { TEMPLATE => 'start.tt', TEMPLATE_VARS => sub { #CODEREF OR HASH REF return {name=>'foo bar', size=>'big'} }, PERSIST => [qw(fred wilma betty)], #ARRAYREF VALIDATE => sub { if (param('Color') eq 'Green') { croak "I hate green" } }, POSTSUBMIT => sub{ print "HELLO!!!!!!"}, NEXTPAGE => sub {return 'two'}, #CODEREF or STRING } , two => { TEMPLATE => 'two.tt', TEMPLATE_VARS => { x => Matrix::HTML->new([[431,442,3],[334,5,6],[7,8,4449]]), what_you_picked => param('Color'), size=>rand(10) } } );