use encoding 'utf8'; use HTML::Entities 'decode_entities'; my $string = 'Hello ä/ä ... ß,é'; $string =~ s/(.)/ord($1)>160?''.ord($1).';':$1/ge; print "$string\n"; # encoded print decode_entities($string),"\n"; # decoded