Hi all, We'we write a simple package with a simple sub "Die" which handle application error ( warning in fact ... ) MyErrorPkg::Error->set( $code[0], $code ); ( set the error message, which will be fetched in error.epl ) my $r = Apache->request() || return; if ( $r->method() eq "POST" ){ # Take care with posted request when using internal redirect... $r->method('GET'); $r->method_number(M_GET); $r->headers_in->unset('Content-length'); } # here is what I don't undestand .... if ( $r->uri() =~ /\.epl$/ ){ $r->internal_redirect( "/common/error.epl" ); exit( 0 ); }else{ $r->custom_response( OK, "/common/error.epl" ); exit( 0 ); } I have two questions: 1) When I perform an internal redirect I within a epl ( HTML::Embperl ) page, internal redirect works well. But within our customized handler ( mod_perl ), we have to perform a custom_response Calling a custom_response in epl ( HTML::Embperl ), send us a to a blank page. What is the difference betwenn these two calls 2) In all case we have to call exit( 0 ), if not the first processing ( not process ) still finish. I was thinking that calling internal_redirect was stopping the current processing, was I wrong? Thank's -- Don't be irreplaceable, if you can't be replaced, you can't be promoted.