Sorry, my apologies by my mistake :_(
At last, I was having a library path confusion.
The code works fine, but I was editing the wrong source file.
The file that was being executed had this code:
my $ref = ($LWP::VERSION >= 5.8) ? \$readFunc : $readFunc; my $req = HTTP::Request->new("PUT", $url, $header, $ref);
To fix a problem that appeared in version 5.8 of the library.
I was editing an identical file, but at a different location, so my changes were not taking effect at all :-P
Once I have found the correct file, and replaced the ">=" by an "==", all started to work again.
The error appeared on 5.8 version of LWP. My current version is 5.802, and it has the error fixed. Is this the first version where the bug is fixed? Is it enough to do an "==" comparison or should I use something like:
my $ref = ($LWP::VERSION >= 5.8 && $LWP::VERSION < 5.802) ? \$readFunc : $readFunc;
Thanks for your help, once I knew the code should have worked it took me just a few seconds to guess where the real problem was :-D
-- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.813 / Virus Database: 553 - Release Date: 13/12/2004