if(defined $q->param('form_submitted')){ if(&errors){ #Error occured &display_form($q); }else{ &thank_you; } }else{ &display_form; } sub display_form(){ ##Do form stuff } #### $temp = HTML::Template->new( file => 'file.tmpl', associate => $q );