in reply to CGI::Application and subroutines

as was pointed out earlier, you're throwing away the error message. If you want to show "here1:", try:
sub save_subsrbr { my @errors = qw(incorrect wrong); if (@errors) { my $err = errorhandler (\@errors); return "$err, here2: " . Dumper(@errors); } }

Replies are listed 'Best First'.
Re^2: CGI::Application and subroutines
by bradcathey (Prior) on Dec 11, 2005 at 18:37 UTC

    Thanks johnnyywang and Kanji, I think I get it now. The fact that return was printing my html page had me thinking it was replacing print (since you're not to be using the latter without care). But I'm learning that return is simply doing what returns always do. I guess I need to peak under the hood and see exactly where the C::A source code is outputing my page.

    Before C::A in my life, I would just exit through my errorhandler routine by print $output. But it looks like I have to be more tidy and "return" gracefully.

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