#!/usr/bin/perl use strict; use HTML::Template; use MIME::Lite; use CGI; use CGI::Carp qw/fatalsToBrowser/; use Data::Dumper; my $c = new CGI; validate($c, qw/ email phone/ ); print $c->header,$c->start_html('everythings ok'); sub validate { my $c = shift; my @params = @_; my @warning; for ( @params ) { push (@warning, { 'missing' => $_ }) unless $c->param($_); } if ( @warning ) { print $c->header; my $template = HTML::Template->new(filename => './templates/warning.html'); $template->param( warnings => \@warning ); print $template->output(); print Dumper @warning; exit; } }