Although I can't reproduce the behavior you describe (I get a message in my
error log plus the END block runs) I have seen something similar in the past
when $@ gets reset by an intervening eval block before Apache::Registry gets
a chance to log an error.  In my case, I had a DESTROY handler on an object
that went out of scope and the DESTROY block had an eval {} block inside of
it.  The presense of the eval {} block reset $@ to "".  The result was the
original exception was raised but the value was lost and Apache returned
server error w/o a log message.  (I solved that specific case by localizing
$@ in the DESTROY block.)

It doesn't sound like this applies to you since you said you observed the
faulty behavior w/ an empty END block, but I thought I'd toss it out there
anyway.

- Kyle

----- Original Message -----
From: "Justin Luster" <[EMAIL PROTECTED]>
To: "'Perrin Harkins'" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, November 12, 2002 3:34 PM
Subject: RE: Using Perl END{} with Apache::Registry


> No.  If there is an END block empty or not then the error logging does
> not happen.
>
> By the way do you know of any way to capture what would have been logged
> and print it through Apache->something?
>
> Thanks.
>
> -----Original Message-----
> From: Perrin Harkins [mailto:perrin@;elem.com]
> Sent: Tuesday, November 12, 2002 3:34 PM
> To: Justin Luster
> Cc: [EMAIL PROTECTED]
> Subject: Re: Using Perl END{} with Apache::Registry
>
> Justin Luster wrote:
>
> > I have an included file that I'm requiring:
> >
> > require "test.pl";
> >
> > Without the END { } block if the script cannot find test.pl I get a
> > Server error 500 and an appropriate error message in the log file.
> When
> > I include the END{ } block I get no Server Error and no message in the
> > log file.  It is almost as if the END{ } is overwriting the
> > ModPerlRegistry error system.
>
>
> Does it make any difference if you change what's in the END block?
>
> - Perrin
>
>
>
>
>

Reply via email to