No se puede ocultar. Viendo el código de LWP/Protocol/http.pm se ve que ese mensaje sale por medio de un warn, es decir, sale por la salida estándar de error.
Entonces, se me ocurren varias ideas.
1.- Editar LWP/Protocol/http.pm y quitar las líneas de warn
2.- Capturar STDERR para que no salga por la salida estándar
3.- Ver por qué falla, y arreglarlo, para que no vuelva a salir.
En concreto, el mensaje de error sale porque la longitud declarada del mensaje que se envía no coincide con la longitud real del mensaje.
Entonces, la solución es calcular mejor esa longitud. Pero viendo (una vez más) el código que rodea a la línea del error, si no pones ningún 'Content-Length', esas líneas lo calcularán por ti
Using perl Syntax Highlighting
# Set (or override) Content-Length header
my $clen = $request_headers->header('Content-Length');
if (defined($$content_ref) && length($$content_ref)) { # si hay contenido,
$has_content = length($$content_ref); # calculamos su longitud real
if (!defined($clen) || $clen ne $has_content) { # si no hemos definido un 'Content-Length' o si no coincide con lo esperado
if (defined $clen) { # si sí hemos definido un 'Content-Length', es que no coinciden
warn "Content-Length header value was wrong, fixed"; # avisamos que de la longitud indicada está mal y la vamos a arreglar
hlist_remove(\@h, 'Content-Length'); # quitamos la cabecera (pondremos una nueva ahora)
}
push(@h, 'Content-Length' => $has_content); # ponemos una nueva cabecera, con su longitud real
}
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4