use Unicode::String qw(utf8 latin1); sub utf8_to_latin1 { # get arguments my ($s1) = @_; # create a utf8 string with initial value of s1 # strange! it should already be in utf8 my $utf8 = Unicode::String->new( $s1 ); # convert to latin1 my $s2 = Unicode::String::latin1($utf8); return $s2; }