Из подробного руководства для HTTP::Headers
:
Многозначное поле будет возвращено как отдельные значения в контексте списка и будет объединено с "," в качестве разделителя в скалярном контексте.
и это контекст списка:
print ($response->header('Content-length'))
Таким образом, $response->header()
возвращает оба Content-length
заголовка в виде списка, и результат, по сути:
print join('', 43215, 43215)
Вы можете либо использовать подход $response->content_length()
Корка, либо захватить все заголовки Content-length
в массиве и использовать первый в качестве длины:
my @lengths = $response->header('Content-length');
my $length = $lengths[0];
Если вы получите несколько Content-length
Заголовки и они разные, тогда кто-то очень смущен.