Michael Peters wrote:
> The client always sees the 500 which is what the access log reports as
> well. It's just that in the CleanupHandler it comes back as 200 for
> /foo/, but 500 for /foo/index.pl.

Just to be clear, when you do this:

GET /foo/

do you get this in the error log?

URI: /foo/index.pl STATUS: 500 (the sub request from Directory Index)
URI: /foo/ STATUS: 200 (the original request)

If that's the case, then the 200 is a bit weird, because it's not
consistent with the actual status returned by the request (which would
be the status of the subrequest), but might be understandable because
the request for /foo/ itself didn't 500. In which case it might
actually be a bug either in Apache, or in mod_perl (i have no idea)