use LWP::UserAgent qw( ); my $default_web_enc = 'UTF-8'; my $default_out_enc = 'iso-latin-1'; sub term_encoding { return ( ( eval { require Term::Encoding } && Term::Encoding::term_encoding() ) || $default_out_enc; ); } my $URL = ...; binmode(STDOUT, ':encoding(' . term_encoding() . ')'); my $ua = LWP::UserAgent->new(); my $response = $ua->get($URL); my $chars = $response->decoded_content( default_charset => $default_web_enc, ); print($chars);