Это странно, я получил те же результаты, что и вы. У меня нет решения, но я сообщаю здесь о небольшом взломе вокруг вашей проблемы.
Происходит следующее: сохраненный файл больше ожидаемого и разрыв соединения отсутствует. Попытка bunzip2 выдаст ошибку даже после усечения полученного файла до нужного размера.
Точно такой же результат был достигнут при использовании LWP :: UserAgent с параметром: content_file для метода get (). То же самое снова добавляем обработчик response_data к объекту $ ua.
Но следующая команда дала мне хорошие результаты:
GET http://www.kernel.org/pub/linux/kernel/v2.6/next/patch-v2.6.34-rc5-next-20100428.bz2> next_kernel.bz
А так как GET является сценарием lwp-запроса, основанным на LWP, вы можете найти ответы, проверив его код, если хотите углубиться в это.
Надеюсь, это поможет вам.