prowler has asked for the wisdom of the Perl Monks concerning the following question:

Hi all,

I have a problem with HTTP::DAV when attempting to put a file that contains parentheses.

From within scripts, running $dav->put(-local => $filename, -url => $target) gives a $dav->message() that reports a successful put without actually performing the HTTP PUT (I have access to the web server access logs). If $filename doesn't contain parentheses the put is reported as successful, and it does occur in actuality.

This occurs even if $target doesn't contain parentheses. I haven't yet tried with a $target that does if $filename doesn't

The same problem is (roughly) reproducible in the dave command line client that comes with HTTP::DAV - when performing a put with a file that doesn't contain parentheses a success message is printed, if attempting to put a non-existant file a failure message is printed, but if putting something with parens no message is printed.

I am getting the files from attachments to emails which have been parsed with MIME::Parser, so would rather not have to rename before upload and deleting the temporary (parser outputted) files

Any help on getting this working would be appreciated

System config (the same system is the client and server for the HTTP::DAV requests):

Perl: v5.8.0 HTTP::DAV: 0.31 MIME::Parser: 5.406 OS: Red Hat Enterprise Linux

Thanks

EDIT: Having the local filename without parens, but the target with, works as desired.

Prowler
 - Spelling is a demanding task that requies you full attention.