Sure. I think you would like to have the error messages next to the sub that threw them, but here is what you want: (NOT TESTED!!)
In your module: my $messages = [ {text => 'quantity is undefined, zero or illegal'}, {text => 'amount is undefined or illegal'}, {text => 'payment is undefined or illegal'}, ]; my $stack = [ { sub => undef, filename => 'tests/purchase.pl', line => 43, package => 'main', }, { sub => 'ISP::Transac::create_transaction', filename => '/usr/local/lib/perl5/site_perl/5.8.9/ISP/Transac.pm', line => 32, package => 'ISP::Transac', }, { sub => 'ISP::Sanity::transaction_data', filename => '/usr/local/lib/perl5/site_perl/5.8.9/ISP/Sanity.pm', line => 55, package => 'ISP::Sanity', }, ]; my $tpl = $app->load_tmpl('templatefile.tpl', die_on_bad_params => 0); $tpl->param( MESSAGES => $messages, STACK => $stack, ); return $tpl->output; In your template file <ul> <!-- TMPL_LOOP NAME=MESSAGES --> <li><!-- TMPL_VAR NAME=TEXT --></li> <!-- /TMPL_LOOP --> </ul> <ul> <!-- TMPL_LOOP NAME=STACK --> <li> <ul> <!-- TMPL_VAR NAME=sub --><br /> <!-- TMPL_VAR NAME=filename --><br /> <!-- TMPL_VAR NAME=line --><br /> <!-- TMPL_VAR NAME=package --> </ul> </li> <!-- /TMPL_LOOP --> HTH On Mon, 2009-06-29 at 23:51 -0400, Steve Bertrand wrote: > Gurunandan R. Bhat wrote: > > How do you want the output to look? If you write in a sample output, I > > could help with the template to generate that output > > I would be extremely delighted to even get the following rendered for > now, given the Data::Dumper output below. If I had a decent example, > then I'd be able to learn from it, and go from there: > > --- output displayed as I'd see it in the browser--- > > Error messages: > > quantity is undefined, zero or illegal > amount is undefined or illegal > payment is undefined or illegal > > Stack trace: > > sub => undef; > filename => tests/purchase.pl > line => 43 > package => main > > sub => ISP::Transac::create_transaction > filename => /usr/local/lib/perl5/site_perl/5.8.9/ISP/Transac.pm > line => 32 > package => ISP::Transac > > sub => ISP::Sanity::transaction_data > filename => /usr/local/lib/perl5/site_perl/5.8.9/ISP/Sanity.pm > line => 55 > package => ISP::Sanity > > --- end browser output --- > > Here again is the actual data. $VAR1 is an array of the error messages, > and $VAR2 is an array, where each element is a hash which represents a > level in a stack trace. > > $VAR1 = \[ > 'quantity is undefined, zero or illegal', > 'amount is undefined or illegal', > 'payment is undefined or illegal' > ]; > $VAR2 = \[ > { > 'sub' => undef, > 'filename' => 'tests/purchase.pl', > 'line' => 43, > 'package' => 'main' > }, > { > 'sub' => 'ISP::Transac::create_transaction', > 'filename' => > '/usr/local/lib/perl5/site_perl/5.8.9/ISP/Transac.pm', > 'line' => 32, > 'package' => 'ISP::Transac' > }, > { > 'sub' => 'ISP::Sanity::transaction_data', > 'filename' => > '/usr/local/lib/perl5/site_perl/5.8.9/ISP/Sanity.pm', > 'line' => 55, > 'package' => 'ISP::Sanity' > } > ]; > > Thank you! > > Steve -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/