use strict; use warnings; use HTML::Entities; use Encode; for my $line ( ) { # This is a no-op on plain &s my $utf8 = HTML::Entities::decode($line); print Encode::encode_utf8($utf8); my $proper = HTML::Entities::encode($utf8); # OR encode_numeric() print $proper; } __DATA__ Purus Accumsan Felis ‰ Maecenas Nibh θ Eget Phasellus & Mi Amet. Odio Amet && Purus. Mi Ullamcorper Lorem Eget Nibh. http://www.example.com/?name=John&residence=Vatican+City&job=Pope