http://www.perlmonks.org?node_id=484570


in reply to Re: Error when passing AoH ref to HTML::Template
in thread Error when passing AoH ref to HTML::Template

Thanks! I'll give your code a try.

I didn't want to add the extra instance of CGI, but when I don't add the instance inside of the sub I get the following eror:

Can't call method "param" on an undefined value at /var/www/cgi-bin/eb +ranch/assignment/process.cgi line 23.
Any ideas?


-silent11
Spread Firefox

Replies are listed 'Best First'.
Re^3: Error when passing AoH ref to HTML::Template
by eric256 (Parson) on Aug 18, 2005 at 16:30 UTC

    Only create one $c. Then pass it to validate. CGI can get tempermental when you keep creating new ones.

    #!/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/warnin +g.html'); $template->param( warnings => \@warning ); print $template->output(); print Dumper @warning; exit; } }

    ___________
    Eric Hodges