Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: CGI::Application and subroutines

by bradcathey (Prior)
on Dec 11, 2005 at 05:55 UTC ( [id://515795]=note: print w/replies, xml ) Need Help??


in reply to Re: CGI::Application and subroutines
in thread CGI::Application and subroutines

Thanks BUU (and [Limbic~Region who msg me), but I not quite sure I'm getting it. Let me explain what's going on in my actual script. If there is an error, the error handler sets up a HTML::Template page using the associate attribute, and uses CGI::Application::Plugin::FillInForm to set any check boxes, etc. and then exits the script by outputing the form with the error, along with any messages.

Here's more of the script

if (@errors) { errorhandler (\@errors, "subscribers", $fifvalues); }; sub errorhandler { my @errorlist; my $errors = shift; my $tmplpage = shift; my $fifvalues = shift; foreach (@$errors) { my %one_record = (errormsg => $_); push (@errorlist, \%one_record); } $template = $self->load_tmpl($tmplpage.'.tmpl', associate => $query, die_on_bad_params => 0); $template->param( errorlist => \@errorlist); my $html_output = $self->fill_form( \$template->output, $fifvalues +); return $html_output; #exits application }

Can you show me what the code might look like that preserves this return value? Thanks!


—Brad
"The important work of moving the world forward does not wait to be done by perfect men." George Eliot

Replies are listed 'Best First'.
Re^3: CGI::Application and subroutines
by Kanji (Parson) on Dec 11, 2005 at 07:52 UTC

    Unless you start messing around with print (which I wouldn't recommend until you understand CGI::App more), CGI::App will only display what you explictly return from a runmode.

    So to show the results of another sub that your runmode calls, you need to get it's results into your runmode's return:-

    # Perhaps like this... return errorhandler(\@errors) . "here2: " . Dumper(@errors); # ...or this... my $errors = errorhandler(\@errors); return $errors . "here2: " . Dumper(@errors);

        --k.


    Update: s/would/wouldn't/;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://515795]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-26 04:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found