command: ..put( -local => "$fh", -url => "$url/$base_dir/$work_dir" ) Reply..: put foo_Line_01 foo_Line_02 failed command: ..put( -local => \$fh, -url => "$url/$base_dir/$work_dir" ) Reply..: put REF(0x274dc28) failed command: ..put( -local => $fhref, -url => "$url/$base_dir/$work_dir" ) Reply..: put REF(0x274dc28) failed command: ..put( -local => "\$fh", -url => "$url/$base_dir/$work_dir" ) Reply..: put $fh failed command: ..put( -local => "\$fhref",-url => "$url/$base_dir/$work_dir" ) Reply..: put $fhref failed #### # (untested) my $storage=''; my $handle=IO::Scalar->new(\$storage); # use $handle to write to $storage here my $dav=HTTP::DAV->new(); # set up $dav here $dav->put( -local => \$storage, -url => 'http://www.example.com/davdemo/scalar.txt', ) or die "Put failed: ",join("\n",$dav->message(),$dav->errors());