From the
mod_perl FAQ:
What if my script needs higher privileges?
You will have to start a new process that runs under a suitable user-id (or group-id). If all requests handled by the script will need the higher privileges, you might as well write it as a suid CGI script. Read the documentation about suEXEC in the Apache documentation.
Alternatively, pre-process the request with mod_perl and fork a suid helper process to handle the privileged part of the task.