I haven't spent as much time debugging this as I would have liked, since I was rather frantic to fix it on a live site. However I have an epl file that is executed with HTML::Embperl::Mail::Execute. It declares [$ var ... $udat $] and a reference to \%udat was passed to it via the param option. When it was called, the next use of that HTTP process would fail with:

[Tue Nov 12 20:19:10 2002] [error] Can't call method "getid" on an undefined value at /usr/lib/perl5/site_perl/5.6.1/i386-linux/HTML/Embperl.pm line 1707.

That's here:

if ((defined ($cookie_val) && ($cookie_val =~ /$cookie_name=(.*?)(\;|\s|$)/)) || ($ENV{QUERY_STRING} =~ /$cookie_name=.*?:(.*?)(\;|\s|&|$)/) || $ENV{EMBPERL_UID} )
{
print HTML::Embperl::LOG "[$$]SES: Received user session id $1\n" if ($HTML::Embperl::dbgSession) ;
$udat -> setid ($1) if (!$udat -> getid) ;
}


My guess was that $udat is becoming cleaned up and/or untied in the cleanup of the executed Mail routine.

If it matters, the call to Mail::Execute is from an imported subroutine, so there's another level of indirection there.

All I know for sure is that if I removed the references to $udat-> in the Mail file and passed the items I wanted instead the problem didn't immediately go away. However removing [$ var $udat $] *did* make the problem go away. That seems a little odd, but there it is.

If this doesn't turn up anything obvious, let me know and I'll see if I can narrow it down any further.
--

Kee Hinckley - Somewhere.Com, LLC
http://consulting.somewhere.com/

I'm not sure which upsets me more; that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to