Thanks Michael. It worked and I learned something. Not sure I understand it
fully, but the light went on. I need to have a better understanding of OO.
"Objects", "instances", "methods" are still a mystery to me. It's kinda like
knowing how to drive, but not knowing how an internal combustion engine
works. I want to know more about the engine.
Thanks again.
>
>
> Brad Cathey wrote:
>> Hello again,
>>
>> I'm trying to understand exactly what postrun allows me to do.
>>
>> I would like to have it set a new session (via C:P:A:Session) before the
>> script outputs my .tmpl page. This code produces an error:
>>
>> "Error executing class callback in postrun stage: Can't call method
>> 'session' on an undefined value at..."
>>
>> It may have nothing to do with my postrun, but I'm still curious.
>
> It doesn't have anything to do with cgiapp_postrun() but rather how your
> calling
> a subroutine.
> [snip]
>
>> sub cgiapp_postrun {
>> my $self = shift;
>> set_session();
>> }
>
> [snip]
>
>> sub set_session {
>> my $self = shift;
>> $self->session->param(user_name => $user_name);
>> $self->session->param(user_id => $user_id);
>> $self->session->param(admin => $admin);
>> $self->session->param(logged_in => 1);
>> }
>
> Here you're calling set_session() but not passing any arguments to it. Then in
> the set_session() sub your using 'shift' to pull out the arguments. So your
> $self is undefined. You need to call set_session() like either of these 2
> examples:
>
> $self->set_session();
> or
> set_session($self);
>
> The first one is clearest since set_session() is clearly intended to be a
> method.
---------------------------------------------------------------------
Web Archive: http://www.mail-archive.com/[email protected]/
http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]