use HTTP::DAV; $d = new HTTP::DAV; $url = "http://host.org:8080/dav/"; $d->credentials( -user=>"pcollins",-pass =>"mypass", -url =>$url, -realm=>"DAV Realm" ); $d->open($url) or die("Couldn't open $url: " .$d->message . "\n"); #Recursively get remote my_dir/ to . $d->get("my_dir/",".");