in reply to mod_perl, apache and permissions

The "Permission denied" your script is reporting in case of a failed request probably doesn't mean much, as you're reporting $! in

print "failed response $!<BR>\n";

The value of $! most likely is just some leftover unrelated (local) system error, not the reason the LWP request failed...

I suspect you rather want something like this to report the actual HTTP status code/message (which might provide a better hint at what's going wrong):

$response = $ua->request($request); if ( $response->is_success ) { # ... } else { print $response->status_line, "\n"; }