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]
